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

相关文章

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Java继承映射的三种使用方法示例

《Java继承映射的三种使用方法示例》继承在Java中扮演着重要的角色,它允许我们创建一个类(子类),该类继承另一个类(父类)的所有属性和方法,:本文主要介绍Java继承映射的三种使用方法示例,需... 目录前言一、单表继承(Single Table Inheritance)1-1、原理1-2、使用方法1-

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

SpringBoot中使用Flux实现流式返回的方法小结

《SpringBoot中使用Flux实现流式返回的方法小结》文章介绍流式返回(StreamingResponse)在SpringBoot中通过Flux实现,优势包括提升用户体验、降低内存消耗、支持长连... 目录背景流式返回的核心概念与优势1. 提升用户体验2. 降低内存消耗3. 支持长连接与实时通信在Sp

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项