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

相关文章

Java Stream流与使用操作指南

《JavaStream流与使用操作指南》Stream不是数据结构,而是一种高级的数据处理工具,允许你以声明式的方式处理数据集合,类似于SQL语句操作数据库,本文给大家介绍JavaStream流与使用... 目录一、什么是stream流二、创建stream流1.单列集合创建stream流2.双列集合创建str

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结