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

2024-01-27 03:44

本文主要是介绍C#使用TimeSpan对象获取时间间隔,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、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对象获取时间间隔的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/648965

相关文章

C#中checked关键字的使用小结

《C#中checked关键字的使用小结》本文主要介绍了C#中checked关键字的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录✅ 为什么需要checked? 问题:整数溢出是“静默China编程”的(默认)checked的三种用

C#中预处理器指令的使用小结

《C#中预处理器指令的使用小结》本文主要介绍了C#中预处理器指令的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 第 1 名:#if/#else/#elif/#endif✅用途:条件编译(绝对最常用!) 典型场景: 示例

C#实现将XML数据自动化地写入Excel文件

《C#实现将XML数据自动化地写入Excel文件》在现代企业级应用中,数据处理与报表生成是核心环节,本文将深入探讨如何利用C#和一款优秀的库,将XML数据自动化地写入Excel文件,有需要的小伙伴可以... 目录理解XML数据结构与Excel的对应关系引入高效工具:使用Spire.XLS for .NETC

C#如何在Excel文档中获取分页信息

《C#如何在Excel文档中获取分页信息》在日常工作中,我们经常需要处理大量的Excel数据,本文将深入探讨如何利用Spire.XLSfor.NET,高效准确地获取Excel文档中的分页信息,包括水平... 目录理解Excel中的分页机制借助 Spire.XLS for .NET 获取分页信息为什么选择 S

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

Springboot请求和响应相关注解及使用场景分析

《Springboot请求和响应相关注解及使用场景分析》本文介绍了SpringBoot中用于处理HTTP请求和构建HTTP响应的常用注解,包括@RequestMapping、@RequestParam... 目录1. 请求处理注解@RequestMapping@GetMapping, @PostMappin

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

C#高效实现在Word文档中自动化创建图表的可视化方案

《C#高效实现在Word文档中自动化创建图表的可视化方案》本文将深入探讨如何利用C#,结合一款功能强大的第三方库,实现在Word文档中自动化创建图表,为你的数据呈现和报告生成提供一套实用且高效的解决方... 目录Word文档图表自动化:为什么选择C#?从零开始:C#实现Word文档图表的基本步骤深度优化:C

SpringBoot整合AOP及使用案例实战

《SpringBoot整合AOP及使用案例实战》本文详细介绍了SpringAOP中的切入点表达式,重点讲解了execution表达式的语法和用法,通过案例实战,展示了AOP的基本使用、结合自定义注解以... 目录一、 引入依赖二、切入点表达式详解三、案例实战1. AOP基本使用2. AOP结合自定义注解3.