C# --- 用TimeSpan计算时间

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Xumuyang_/article/details/84198266

1、TimeSpan结构:表示一个时间间隔

2、命名空间为 System   程序集:mscorlib(在mscorlib.dll中)

3.、说明:DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,我们可以用DateTime值类型来描述任何在想象范围之内的时间。

4.、TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值,TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值,其中的五个重载方法之一的结构 TimeSpan( int days, int hours, int minutes, int seconds )

下面是其中的一部分方法及属性解释:

Add:与另一个TimeSpan值相加。

Days:返回用天数计算的TimeSpan值。

Duration:获取TimeSpan的绝对值。

Hours:返回用小时计算的TimeSpan值

Milliseconds:返回用毫秒计算的TimeSpan值。

Minutes:返回用分钟计算的TimeSpan值。

Negate:返回当前实例的相反数。

Seconds:返回用秒计算的TimeSpan值。

Subtract:从中减去另一个TimeSpan值。

Ticks:返回TimeSpan值的tick数。

TotalDays:返回TimeSpan值表示的天数。

TotalHours:返回TimeSpan值表示的小时数。

TotalMilliseconds:返回TimeSpan值表示的毫秒数。

TotalMinutes:返回TimeSpan值表示的分钟数。

TotalSeconds:返回TimeSpan值表示的秒数。

代码:

TimeSpan ts = 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}", ts.Days);
Console.WriteLine("时间间隔的小时部分:{0}", ts.Hours);
Console.WriteLine("时间间隔的分钟部分:{0}", ts.Minutes);
Console.WriteLine("时间间隔的秒部分:{0}", ts.Seconds);
Console.WriteLine("时间间隔的毫秒部分:{0}", ts.Milliseconds);
Console.WriteLine("时间间隔的等效刻度数(计时单位:一百纳秒):{0}", ts.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}", ts.TotalDays);
Console.WriteLine("时间间隔的等效小时数:{0}", ts.TotalHours);
Console.WriteLine("时间间隔的等效分钟数:{0}", ts.TotalMinutes);
Console.WriteLine("时间间隔的等效秒数:{0}", ts.TotalSeconds);
Console.WriteLine("时间间隔的等效毫秒数:{0}", ts.TotalMilliseconds);

结果:
         在这里插入图片描述

它的四个构造函数

1、TimeSpan(Int64)将 TimeSpan结构的新实例初始化为指定的刻度数。

(DateTime.Tick:是计算机的一个计时周期,单位是一百纳秒,即一千万分之一秒)

2、TimeSpan(Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的小时数、分钟数和秒数。

3、TimeSpan(Int32, Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的天数、小时数、分钟数和秒数。

4、TimeSpan(Int32,Int3效果为:2, Int32, Int32, Int32)将新的 TimeSpan结构初始化为指定的天数、小时数、分钟数、秒数和毫秒数。

代码:

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);

结果:
                  在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Xumuyang_/article/details/84198266
今日推荐