C#使用TimeSpan对象实现获取时间间隔

 更新时间:2024年01月28日 10:31:41   作者:wenchm  
TimeSpan对象代表两个时间段的间隔或跨度,使用TimeSpan对象可以方便地获取两个时间段的间隔,下面我们就来看看C#使用TimeSpan对象实现获取时间间隔的具体操作吧

一、TimeSpan基础知识

使用TimeSpan对象可以方便地获取两个时间段的间隔。两个时间信息相减后会得到一个TimeSpan对象,该TimeSpan对象代表时间间隔,可以通过TimeSpan对象的Days、Hours、Minutes、Seconds、Milliseconds属性分别得到间隔的天、时、分、秒、毫秒数。

TimeSpan对象代表两个时间段的间隔或跨度,使用TimeSpan对象可以方便地获取两个时间段的间隔。两个时间信息相减后会得到一个TimeSpan对象,该TimeSpan对象代表时间间隔,可以通过TimeSpan对象的Days、Hours、Minutes、Seconds、Milliseconds属性分别得到间隔的天、时、分、秒、毫秒数。 

可以调用TimeSpan的Add方法,得到两个TimeSpan持续时间的和。

二、实例

使用TimeSpan对象获取时间间隔。

// 使用TimeSpan对象获取时间间隔
namespace _064
{
    public partial class Form1 : Form
    {
        private GroupBox? groupBox1;
        private GroupBox? groupBox2;
        private GroupBox? groupBox3;
        private Button? button1;
        private Button? button2;       
        private Button? button3;
        private Label? label1;
        private Label? label2;
        private Label? label3;
        public DateTime DateTime_First,DateTime_Second;
 
        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
 
        private void Form1_Load(object? sender, EventArgs e)
        {
            // 
            // button1
            // 
            button1 = new Button
            {
                Location = new Point(108, 22),
                Name = "button1",
                Size = new Size(106, 23),
                TabIndex = 0,
                Text = "第一次获取时间",
                UseVisualStyleBackColor = true
            };
            button1.Click += Button1_Click;
            // 
            // button2
            //  
            button2 = new Button
            {
                Location = new Point(108, 22),
                Name = "button2",
                Size = new Size(108, 23),
                TabIndex = 0,
                Text = "第二次获取时间",
                UseVisualStyleBackColor = true
            };
            button2.Click += Button2_Click;
            // 
            // button3
            //         
            button3 = new Button
            {
                Location = new Point(106, 22),
                Name = "button3",
                Size = new Size(108, 23),
                TabIndex = 0,
                Text = "计算时间间隔",
                UseVisualStyleBackColor = true
            };
            button3.Click += Button3_Click;
            // 
            // label1
            // 
            label1 = new Label
            {
                AutoSize = true,
                Location = new Point(26, 47),
                Name = "label1",
                Size = new Size(43, 17),
                TabIndex = 1,
                Text = "label1"
            };
            // 
            // label2
            // 
            label2 = new Label
            {
                AutoSize = true,
                Location = new Point(26, 50),
                Name = "label2",
                Size = new Size(43, 17),
                TabIndex = 1,
                Text = "label2"
            };
            // 
            // label3
            //          
            label3 = new Label
            {
                AutoSize = true,
                Location = new Point(71, 51),
                Name = "label3",
                Size = new Size(43, 17),
                TabIndex = 1,
                Text = "label3"
            };
            // 
            // groupBox1
            // 
            groupBox1 = new GroupBox
            {
                Location = new Point(12, 12),
                Name = "groupBox1",
                Size = new Size(315, 75),
                TabIndex = 0,
                TabStop = false,
                Text = "第一次获取时间"
            };
            groupBox1.Controls.Add(label1);
            groupBox1.Controls.Add(button1);
            groupBox1.SuspendLayout();
            // 
            // groupBox2
            // 
            groupBox2 = new GroupBox
            {
                Location = new Point(12, 94),
                Name = "groupBox2",
                Size = new Size(315, 75),
                TabIndex = 1,
                TabStop = false,
                Text = "第二次获取时间"
            };
            groupBox2.Controls.Add(label2);
            groupBox2.Controls.Add(button2);
            groupBox2.SuspendLayout();
            // 
            // groupBox3
            // 
            groupBox3 = new GroupBox
            {
                Location = new Point(12, 176),
                Name = "groupBox3",
                Size = new Size(315, 75),
                TabIndex = 2,
                TabStop = false,
                Text = "时间间隔"
            };
            groupBox3.Controls.Add(label3);
            groupBox3.Controls.Add(button3);
            groupBox3.SuspendLayout();
           
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(339, 263);
            Controls.Add(groupBox3);
            Controls.Add(groupBox2);
            Controls.Add(groupBox1);
            Name = "Form1";
            StartPosition = FormStartPosition.CenterScreen;
            Text = "使用TimeSpan对象获取时间间隔";
            groupBox1.ResumeLayout(false);
            groupBox1.PerformLayout();
            groupBox2.ResumeLayout(false);
            groupBox2.PerformLayout();
            groupBox3.ResumeLayout(false);
            groupBox3.PerformLayout();
        }
        /// <summary>
        /// 第一次获取时间
        /// </summary>
        private void Button1_Click(object? sender, EventArgs e)
        {
            DateTime_First = DateTime.Now;//为时间字段赋值
            label1!.Text = "系统时间:" + DateTime_First.ToString(
                "yyyy年M月d日 H时m分s秒 fff毫秒");
        }
        /// <summary>
        /// 第二次获取时间
        /// </summary>
        private void Button2_Click(object? sender, EventArgs e)
        {
            DateTime_Second = DateTime.Now;//为时间字段赋值
            label2!.Text = "系统时间:" + DateTime_Second.ToString(
                "yyyy年M月d日 H时m分s秒 fff毫秒");
        }
        /// <summary>
        /// 计算时间间隔
        /// </summary>
        private void Button3_Click(object? sender, EventArgs e)
        {
            TimeSpan timespan =//计算两个时间的时间间隔
                DateTime_First > DateTime_Second ?
                DateTime_First - DateTime_Second :
                DateTime_Second - DateTime_First;
            label3!.Text = string.Format("间隔时间:{0}天{1}时{2}分{3}秒 {4}毫秒",
                timespan.Days, timespan.Hours,
                timespan.Minutes, timespan.Seconds,
                timespan.Milliseconds);
        }
    }
}

结果如下

到此这篇关于C#使用TimeSpan对象实现获取时间间隔的文章就介绍到这了,更多相关C# TimeSpan获取时间间隔内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在C#中使用指针的示例代码

    在C#中使用指针的示例代码

    C#向开发人员隐藏了大部分基本内存管理操作,因为它使用了垃圾回收器和引用,但是,有时候我们也需要直接访问内存,例如:进行平台调用,性能优化等等,本文给大家介绍了在C#中使用指针的示例代码,需要的朋友可以参考下
    2024-10-10
  • C#实现打开画图的同时载入图片、最大化显示画图窗体的方法

    C#实现打开画图的同时载入图片、最大化显示画图窗体的方法

    这篇文章主要介绍了C#实现打开画图的同时载入图片、最大化显示画图窗体的方法,涉及C#针对窗体及图片操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#中CompareTo的用法小结

    C#中CompareTo的用法小结

    CompareTo方法通常用于比较当前对象与另一个对象的顺序,本文主要介绍了C#中CompareTo的用法小结,具有一定的参考价值,感兴趣的可以了解一下
    2025-04-04
  • C#程序连接数据库及读取数据库中字段的简单方法总结

    C#程序连接数据库及读取数据库中字段的简单方法总结

    包括C#连接Access、Oracle或者SQL Server,这里整理了一些C#连接数据库及从读取数据库中字段的简单方法总结,需要的朋友可以参考下
    2016-05-05
  • C#实现身份证验证功能的示例代码

    C#实现身份证验证功能的示例代码

    这篇文章主要为大家详细介绍了如何利用C#实现身份证验证功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • 基于C#实现语音识别功能详解

    基于C#实现语音识别功能详解

    在.NET4.0中,可以借助System.Speech组件让电脑来识别我们的声音。本文将利用该组件实现语音识别功能,文中实现过程讲解详细,需要的可以参考一下
    2022-04-04
  • C#使用Newtonsoft.Json中的JObject对象

    C#使用Newtonsoft.Json中的JObject对象

    本文详细讲解了C#使用Newtonsoft.Json中JObject对象的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • C#数据结构与算法揭秘一

    C#数据结构与算法揭秘一

    本文一介绍了数据结构的基本概念 而介绍了算法的基本概念,并且重点讨论了算法时间复杂度,并且用程序予以证明
    2012-11-11
  • C#自定义HttpFilter模块完善实例

    C#自定义HttpFilter模块完善实例

    这篇文章主要介绍了C#自定义HttpFilter模块完善的方法,以实例的形式具体讲述了C#自定义HttpFilter模块的原理与完善的方法,非常实用,需要的朋友可以参考下
    2014-10-10
  • Unity UGUI的StandaloneInputModule标准输入模块组件使用示例

    Unity UGUI的StandaloneInputModule标准输入模块组件使用示例

    这篇文章主要为大家介绍了Unity UGUI的StandaloneInputModule标准输入模块组件使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08

最新评论