C#的TimeSpan案例详解
作者:十年河东,十年河西,莫欺骚年穷 发布时间:2023-11-20 11:34:52
TimeSpan结构:表示一个时间间隔。
它含有以下四个构造函数:
TimeSpan(Int64)将 TimeSpan结构的新实例初始化为指定的刻度数。
(DateTime.Tick:是计算机的一个计时周期,单位是一百纳秒,即一千万分之一秒)TimeSpan(Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的小时数、分钟数和秒数。
TimeSpan(Int32, Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的天数、小时数、分钟数和秒数。
TimeSpan(Int32,Int3效果为:2, Int32, Int32, Int32)将新的 TimeSpan结构初始化为指定的天数、小时数、分钟数、秒数和毫秒数。
Demo:
TimeSpan ts0 = new TimeSpan(36); //将时间间隔ts0初始化为36刻度数
TimeSpan ts1 = new TimeSpan(4, 20, 33); //将时间间隔ts1初始化为4小时20分33秒
TimeSpan ts2 = new TimeSpan(2,10,36,45); //将时间间隔ts2初始化为2天10小时36分45秒
TimeSpan ts3 = new TimeSpan(6, 12, 56, 45,23); //将时间间隔ts3初始化为6天12小时56分45秒23毫秒
Console.WriteLine(ts0);
Console.WriteLine(ts1);
Console.WriteLine(ts2);
Console.WriteLine(ts3);
效果为:
并有以下属性:
Days //直接取出TimeSpan结构所表示的时间间隔的天数部分。
Hours //直接取出TimeSpan结构所表示的时间间隔的小时部分。
Minutes //直接取出TimeSpan结构所表示的时间间隔的分钟部分。
Seconds //直接取出TimeSpan结构所表示的时间间隔的秒数部分。
Milliseconds //直接取出TimeSpan结构所表示的时间间隔的毫秒部分。
Ticks //表示多少个一百纳秒(计算机的一个计时单位)。
TotalDays //将TimeSpan结构所表示的时间间隔换算成等效天数。
TotalHours //将TimeSpan结构所表示的时间间隔换算成等效小时数。
TotalMinutes //将TimeSpan结构所表示的时间间隔换算成等效分钟数。
TotalSeconds //将TimeSpan结构所表示的时间间隔换算成等效秒数数。
TotalMilliseconds //将TimeSpan结构所表示的时间间隔换算成等效毫秒数。
Demo:
TimeSpan ts4 = new TimeSpan(7, 18, 23, 41, 576);//将时间间隔ts4初始化为7天18小时23分41秒576毫秒(毫秒以千进制)
DateTime dt1 = new DateTime(2014,9,22,7,16,39);
DateTime dt2 = DateTime.Now;
ts4 = dt2 - dt1; //重新给ts4赋值
Console.WriteLine("时间间隔为:{0}",ts4);
Console.WriteLine("时间间隔的天数部分:{0}", ts4.Days);
Console.WriteLine("时间间隔的小时部分:{0}", ts4.Hours);
Console.WriteLine("时间间隔的分钟部分:{0}", ts4.Minutes);
Console.WriteLine("时间间隔的秒部分:{0}", ts4.Seconds);
Console.WriteLine("时间间隔的毫秒部分:{0}", ts4.Milliseconds);
Console.WriteLine("时间间隔的等效刻度数(计时单位:一百纳秒):{0}", ts4.Ticks); //输出多少个一百纳秒:30天*24小时*60分*60秒*1000毫秒+03小时*60分*60秒*1000毫秒+09分*60秒*1000毫秒+48秒*1000毫秒+599毫秒=2603388599毫秒,因为刻度是一百纳秒(一千万分之一秒),毫秒为一千分之一秒,所以一毫秒等于1万乘以一百纳秒,所以最后等于2603388599毫秒*10000+5781(个一百纳秒)=26033885995781。
Console.WriteLine("时间间隔的等效天数:{0}", ts4.TotalDays);
Console.WriteLine("时间间隔的等效小时数:{0}", ts4.TotalHours);
Console.WriteLine("时间间隔的等效分钟数:{0}", ts4.TotalMinutes);
Console.WriteLine("时间间隔的等效秒数:{0}", ts4.TotalSeconds);
Console.WriteLine("时间间隔的等效毫秒数:{0}", ts4.TotalMilliseconds);
效果为:
来源:https://blog.csdn.net/weixin_41600552/article/details/82220645


猜你喜欢
- IDEA自定义pom依赖抽离公共代码,代码解耦,减少重复第一步: 抽离公共部分的代码第二步: 点击右侧工具栏的maven,刷新,点击skip
- IDEA service层跳转实现类的快捷图标消失了,但别人IDEA同样的代码可以正常看到跳转图标。。(暗示:这只是你的IDEA 编译器的b
- 第一次是接触Lambda表达式是在TypeScript中(JavaScript的超集中),当时是为了让TypeScript的this方法外而
- 一.背景本文主要介绍Java 8中时间的操作方法java.util.Date是用于表示一个日期和时间的对象(注意与java.sql.Date
- android中定时有很多种是实现,常见的Handler 与Thread的结合,handler.postDelayed ,以及要使用的Ala
- 本文实例为大家分享了Android内存中存储用户名和密码的方法,供大家参考,具体内容如下首先是配置文件:<LinearLayout x
- synchronized关键字synchronized,我们谓之锁,主要用来给方法、代码块加锁。当某个方法或者代码块使用synchroniz
- 在此附上超详细Windows 10卸载JDK1.8教程超详细Windows 10卸载JDK1.8教程JDK1.8即为JDK8,JDK8是目前
- 我们在使用editText控件的时候,会遇到这样的一问题,就是我在输入时候,当我选择让文字变粗时,我输入的文字就会变粗,当我去掉选择时,再输
- Map接口Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value;Map中的
- 本文将通过阅读spring源码,分析@Bean注解导入Bean的原理。从AnnotationConfigApplicationContext
- 在有些开发场景,需要对 List 对象列表进行过滤处理,并将有用的数据存放到Map中。例如:告警对象,包含告警uuid(alarmUuid)
- 一、研究背景在我们实际的项目开发中,我们会经常对文件进行相关任务的操作,具体的开发环节中,免不了让我们获取文件的后缀名,通过后缀名来进行下一
- WPF动画效果系列WPF实现动画效果(一)之基本概念WPF实现动画效果(二)之From/To/By 动画WPF实现动画效果(三)之时间线(T
- 用过spring框架进行开发的人,多多少少会使用过它的AOP功能,都知道有@Before、@Around和@After等advice。最近,
- 目录Update计时器Invoke协程DoTween最开始接触unity的时候,我做延时都是在update里做计时器。后来才发现,我屮艸芔茻
- 数据绑定API用于JSON转换和使用属性访问或使用注解POJO(普通Java对象)。以下是它的两个类型。简单数据绑定 - 转换JSON,从J
- 本文实例讲述了Java实现二分查找算法。分享给大家供大家参考。具体如下:1. 前提:二分查找的前提是需要查找的数组必须是已排序的,我们这里的
- Stream流多字段求和、汇聚实现方法利用Collectors.toMap(Function keyMapper, Function val
- 本文实例为大家分享了使用C#写一个时钟,供大家参考,具体内容如下时钟是这样的一共使用四个控件即可:WinFrom窗体应用程序代码:using