TimeSpan 对象表示时间间隔或持续时间,按正负天数、小时数、分钟数、秒数以及秒的小数部分进行度量。用于度量持续时间的最大时间单位是天。更大的时间单位(如月和年)的天数不同,因此为保持一致性,时间间隔以天为单位来度量。
TimeSpan 对象的值是等于所表示时间间隔的刻度数。一个刻度等于 100 纳秒,TimeSpan 对象的值的范围在 MinValue 和 MaxValue 之间。
TimeSpan 值可以表示为 [-]d.hh:mm:ss.ff,其中减号是可选的,它指示负时间间隔,d 分量表示天,hh 表示小时(24 小时制),mm 表示分钟,ss 表示秒,而 ff 为秒的小数部分。即,时间间隔包括整的正负天数、天数和剩余的不足一天的时长,或者只包含不足一天的时长。例如,初始化为 1.0e+13 刻度的 TimeSpan 对象的文本表示“11.13:46:40”,即 11 天,13 小时,46 分钟和 40 秒。
TimeSpan 类型实现了 System..::.IComparable 和 System..::.IComparable<(Of <(T>)>) 接口。
比较时间是用TimeSpan的。
TimeSpan
根据输入日期计算两个指定日期之间的时间间隔。
说明
语法:
String TimeSpan('转义字符','被比较日期','目标比较日期')
传回值:
字符
参数说明:
'转义字符'
输入类型为字符,具有不同格式化字符的字符如内容说明中所例。输入字符内的格式化字符被格式化后输出,其他不属于格式化的字符则根据对应位置输出。
'被比较日期' 输入类型为字符,需要被比较的日期格式的字符内容。
'目标比较日期' 输入类型为字符,用来比较的目标日期格式的字符内容。
内容说明
根据输入日期计算两个指定日期之间的时间间隔。
转义字符说明:
T
获取两个日期之间差异刻度表示的差异值。(正数或负数)
d 获取两个日期之间差异的整天数。(正数或负数)
h 获取两个日期之间差异的整小时数。(正数或负数)
u 获取两个日期之间差异的整毫秒数。(正数或负数)
m 获取两个日期之间差异的整分钟数。(正数或负数)
s 获取两个日期之间差异的整秒数。(正数或负数)
D 获取两个日期之间以整天数和天的小数部分表示的差异值。(正数或负数)
H 获取两个日期之间以整小时数和小时的小数部分表示的差异值。(正数或负数)
U 获取两个日期之间整毫秒数和毫秒的小数部分表示的差异值。(正数或负数)
M 获取两个日期之间以整分钟数和分钟的小数部分表示的差异值。(正数或负数)
S 获取两个日期之间以整秒数和秒的小数部分表示的差异值。(正数或负数)
刻度数常用值:
一天中的刻度数
864,000,000,000
1 小时的刻度数 36,000,000,000
1 毫秒的刻度数 10,000
1 分钟的刻度数 600,000,000
1 秒的刻度数 10,000,000
==========================
例:
<Action name="logic.demo" NextAction="">
<Out Area="/Library/lout.lbi">
<SetVar Name="message" Value="TimeSpan('T','2001-2-15 12:20:50','2003-1-1 8:10:20')" />
<Echo ContentLinkId="viewmsg" />
<SetVar Name="message" Value="TimeSpan('d','2001-2-15 12:20:50','2003-1-1 8:10:20')" />
<Echo ContentLinkId="viewmsg" />
<SetVar Name="message" Value="TimeSpan('h','2001-2-15 12:20:50','2003-1-1 8:10:20')" />
<Echo ContentLinkId="viewmsg" />
<SetVar Name="message" Value="TimeSpan('u','2001-2-15 12:20:50','2003-1-1 8:10:20')" />
<Echo ContentLinkId="viewmsg" />
<SetVar Name="message" Value="TimeSpan('m','2001-2-15 12:20:50','2003-1-1 8:10:20')" />
<Echo ContentLinkId="viewmsg" />
<SetVar Name="message" Value="TimeSpan('s','2001-2-15 12:20:50','2003-1-1 8:10:20')" />
<Echo ContentLinkId="viewmsg" />
<SetVar Name="message" Value="TimeSpan('D','2001-2-15 12:20:50','2003-1-1 8:10:20')" />
<Echo ContentLinkId="viewmsg" />
<SetVar Name="message" Value="TimeSpan('H','2001-2-15 12:20:50','2003-1-1 8:10:20')" />
<Echo ContentLinkId="viewmsg" />
<SetVar Name="message" Value="TimeSpan('U','2001-2-15 12:20:50','2003-1-1 8:10:20')" />
<Echo ContentLinkId="viewmsg" />
<SetVar Name="message" Value="TimeSpan('M','2001-2-15 12:20:50','2003-1-1 8:10:20')" />
<Echo ContentLinkId="viewmsg" />
<SetVar Name="message" Value="TimeSpan('S','2001-2-15 12:20:50','2003-1-1 8:10:20')" />
<Echo ContentLinkId="viewmsg" />
<SetVar Name="message" Value="TimeSpan('相距今天还有d天h小时','2008-2-15 0:0:0',date('N'))" />
<Echo ContentLinkId="viewmsg" />
</Out>
</Action>
示例输出
-591689700000000
-684
-19
0
-49
-30
-684.826041666667
-16435.825
-59168970000
-986149.5
-59168970
相距今天还有992天1小时