Previous topicNext topic
Help > 开发指南 > 编程基础 > 数据处理 >
TimeSpan

对象 TimeSpan 表示一个时间间隔 (持续时间或已用时间) ,以正数或负数天、小时、分钟、秒和秒的分数为单位。 该 TimeSpan 结构还可用于表示一天的时间,但前提是时间与特定日期无关。值 TimeSpan 表示时间间隔,可表示为特定天数、小时、分钟、秒和毫秒。 因为它表示不引用特定起点或终点的常规间隔,因此不能以年和月来表示,这两个间隔都有可变天数。 它不同于一个 DateTime 值,该值表示不引用特定时区的日期和时间。

属性

名称 说明
Days 获取当前 TimeSpan 结构所表示的时间间隔的天数部分。
Hours 获取当前 TimeSpan 结构所表示的时间间隔的小时数部分。
Milliseconds 获取当前 TimeSpan 结构所表示的时间间隔的毫秒数部分。
Minutes 获取当前 TimeSpan 结构所表示的时间间隔的分钟数部分。
Seconds 获取当前 TimeSpan 结构所表示的时间间隔的秒数部分。
Ticks 获取表示当前 TimeSpan 结构的值的刻度数。
TotalDays 获取以整天数和天的小数部分表示的当前 TimeSpan 结构的值。
TotalHours 获取以整小时数和小时的小数部分表示的当前 TimeSpan 结构的值。
TotalMilliseconds 获取以整毫秒数和毫秒的小数部分表示的当前 TimeSpan 结构的值。
TotalMinutes 获取以整分钟数和分钟的小数部分表示的当前 TimeSpan 结构的值。
TotalSeconds 获取以整秒数和秒的小数部分表示的当前 TimeSpan 结构的值。

 VB.Net
'先定义两个指定的日期
Dim date1 As DateTime = New DateTime(2010, 1, 1, 8, 0, 15)
Dim date2 As DateTime = New DateTime(2010, 8, 18, 13, 30, 30)
'计算两个日期之间的差值,返回一个TimeSpan类型的值
Dim interval As TimeSpan = date2 - date1
Proj.MsgDebug.Add("{0} - {1} = {2}", date2, date1, interval.ToString())
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段的天数部分:", interval.Days)
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段共有多少天:", interval.TotalDays)
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段的小时部分:", interval.Hours)
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段共有多少小时:", interval.TotalHours)
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段的分钟部分:", interval.Minutes)
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段共有多少分钟:", interval.TotalMinutes)
Proj.MsgDebug.Add("   {0,11} {1,-20:N0}", "时段的秒数部分:", interval.Seconds)
Proj.MsgDebug.Add("   {0,11} {1,-20:N0}", "时段共有多少秒:", interval.TotalSeconds)
Proj.MsgDebug.Add("   {0,11} {1,-20:N0}", "时段的毫秒部分:", interval.Milliseconds)
Proj.MsgDebug.Add("   {0,11} {1,-20:N0}", "时段共有多少毫秒:", interval.TotalMilliseconds)
Proj.MsgDebug.Add("   {0,11} {1,-20:N0}", "Ticks:", interval.Ticks)

'返回时间:2010-08-18 13:30:30 - 2010-01-01 8:00:15 = 229.05:30:15
'返回时间:    时段的天数部分: 229
'返回时间:    时段共有多少天: 229.229340277778
'返回时间:    时段的小时部分: 5
'返回时间:  时段共有多少小时: 5501.50416666667
'返回时间:    时段的分钟部分: 30
'返回时间:  时段共有多少分钟: 330090.25
'返回时间:    时段的秒数部分: 15
'返回时间:    时段共有多少秒: 19,805,415
'返回时间:    时段的毫秒部分: 0
'返回时间:  时段共有多少毫秒: 19,805,415,000
'返回时间:      Ticks: 198,054,150,000,000

 C#
// 先定义两个指定的日期
DateTime date1 = new DateTime(2010, 1, 1, 8, 0, 15);
DateTime date2 = new DateTime(2010, 8, 18, 13, 30, 30);
// 计算两个日期之间的差值,返回一个TimeSpan类型的值
TimeSpan interval = date2 - date1;
Proj.MsgDebug.Add("{0} - {1} = {2}", date2, date1, interval.ToString());
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段的天数部分:", interval.Days);
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段共有多少天:", interval.TotalDays);
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段的小时部分:", interval.Hours);
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段共有多少小时:", interval.TotalHours);
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段的分钟部分:", interval.Minutes);
Proj.MsgDebug.Add("   {0,11} {1,-20}", "时段共有多少分钟:", interval.TotalMinutes);
Proj.MsgDebug.Add("   {0,11} {1,-20:N0}", "时段的秒数部分:", interval.Seconds);
Proj.MsgDebug.Add("   {0,11} {1,-20:N0}", "时段共有多少秒:", interval.TotalSeconds);
Proj.MsgDebug.Add("   {0,11} {1,-20:N0}", "时段的毫秒部分:", interval.Milliseconds);
Proj.MsgDebug.Add("   {0,11} {1,-20:N0}", "时段共有多少毫秒:", interval.TotalMilliseconds);
Proj.MsgDebug.Add("   {0,11} {1,-20:N0}", "Ticks:", interval.Ticks);

//返回结果:2010-08-18 13:30:30 - 2010-01-01 8:00:15 = 229.05:30:15
//返回结果:      时段的天数部分: 229
//返回结果:      时段共有多少天: 229.229340277778
//返回结果:      时段的小时部分: 5
//返回结果:    时段共有多少小时: 5501.50416666667
//返回结果:      时段的分钟部分: 30
//返回结果:    时段共有多少分钟: 330090.25
//返回结果:      时段的秒数部分: 15
//返回结果:      时段共有多少秒: 19,805,415
//返回结果:      时段的毫秒部分: 0
//返回结果:    时段共有多少毫秒: 19,805,415,000
//返回结果:               Ticks: 198,054,150,000,000