C# Timespan 基础知识
一、DateTime与Timespan的区别
1、DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。
2、Timespan时间间隔结构,表示一个时间间隔,单位:100 毫微秒。TimeSpan格式为:天.时:分:秒.百纳秒,单位格式:day.hour:minute:second.100ns 格式示例:0.0:0:0.0000000
二、TimeSpan构造方法
TimeSpan(Int64)
将TimeSpan结构的新实例初始化为指定的刻度数。
//将时间间隔ts0初始化为36刻度数 TimeSpan ts0 = new TimeSpan(36); Console.WriteLine(ts0);
输出结果:00:00:00.0000036
TimeSpan(Int32, Int32, Int32)
将 TimeSpan结构的新实例初始化为指定的小时数、分钟数和秒数。
//将时间间隔ts1初始化为4小时20分33秒 TimeSpan ts1 = new TimeSpan(4, 20, 33); Console.WriteLine(ts1);
输出结果:04:20:33
TimeSpan(Int32, Int32, Int32, Int32)
将TimeSpan结构的新实例初始化为指定的天数、小时数、分钟数和秒数。
//将时间间隔ts2初始化为2天10小时36分45秒 TimeSpan ts2 = new TimeSpan(2,10,36,45); Console.WriteLine(ts2);
输出结果:2.10:36:45
TimeSpan(Int32,Int32, Int32, Int32, Int32)
将新的 TimeSpan结构初始化为指定的天数、小时数、分钟数、秒数和毫秒数。
//将时间间隔ts3初始化为6天12小时56分45秒23毫秒 TimeSpan ts3 = new TimeSpan(6, 12, 56, 45,23); Console.WriteLine(ts3);
输出结果:6.12:56:45.0230000
三、TimeSpan的属性与方法
//将时间间隔ts4初始化为7天18小时23分41秒576毫秒(毫秒以千进制) TimeSpan ts4 = new TimeSpan(7, 18, 23, 41, 576); DateTime dt1 = new DateTime(2022,11,27,15,25,39); DateTime dt2 = DateTime.Now; //重新给ts4赋值 ts4 = dt2 - dt1;
输出两个时间的时间间隔
Console.WriteLine("时间间隔为:{0}",ts4);
取出TimeSpan结构所表示的时间间隔的天数部分
Console.WriteLine("时间间隔的天数部分:{0}", ts4.Days);
取出TimeSpan结构所表示的时间间隔的小时部分
Console.WriteLine("时间间隔的小时部分:{0}", ts4.Hours);
取出TimeSpan结构所表示的时间间隔的分钟部分。
Console.WriteLine("时间间隔的分钟部分:{0}", ts4.Minutes);
取出TimeSpan结构所表示的时间间隔的秒数部分。
Console.WriteLine("时间间隔的秒部分:{0}", ts4.Seconds);
取出TimeSpan结构所表示的时间间隔的毫秒部分。
Console.WriteLine("时间间隔的毫秒部分:{0}", ts4.Milliseconds);
计算时间间隔有多少ns,该处可以使用datetime类型。
Console.WriteLine("时间间隔的等效刻度数(计时单位:一百纳秒):{0}", ts4.Ticks);
将TimeSpan结构所表示的时间间隔换算成等效天数
Console.WriteLine("时间间隔的等效天数:{0}", ts4.TotalDays);
将TimeSpan结构所表示的时间间隔换算成等效小时数
Console.WriteLine("时间间隔的等效小时数:{0}", ts4.TotalHours);
将TimeSpan结构所表示的时间间隔换算成等效分钟数
Console.WriteLine("时间间隔的等效分钟数:{0}", ts4.TotalMinutes);
将TimeSpan结构所表示的时间间隔换算成等效秒数数
Console.WriteLine("时间间隔的等效秒数:{0}", ts4.TotalSeconds);
将TimeSpan结构所表示的时间间隔换算成等效毫秒数
Console.WriteLine("时间间隔的等效毫秒数:{0}", ts4.TotalMilliseconds);