时段概述

时段的类型为TimeSpan,所谓时段,就是一段时间范围。

定义一个新的TimeSpan的语法为:

New TimeSpan(days, hours, minutes, seconds, milliseconds)
New TimeSpan(days,
hours, minutes, seconds)
New TimeSpan(
hours, minutes, seconds)

days:          天数
hours:         小时数
minutes:       分数
seconds
:       秒数
milliseconds:  毫秒数

例如:

Dim tp1 As New TimeSpan(20,13,45) '20小时13分45秒
Dim
tp2 As New TimeSpan(1,20,13,45) '1天20小时13分45秒
Dim
tp3 As New TimeSpan(1,20,13,45,200) '1天20小时13分45秒200毫秒
Dim
tp4 As New TimeSpan(0,0,0,200) '200秒
Dim
tp5 As New TimeSpan(0,0,0,0,200) '200毫秒

时段数据有以下常用属性:

属性 说明
Days 获得时段数据的天数
Hours 获得时段数据的小时数
Minutes 获得时段数据的分钟数
Seconds 获得时段数据的秒数

两个日期时间数据相减,得到的就是一个时段型数据。

例如:

Dim d1 as Date = #3/17/2002 12:30:29#
Dim
d2 as Date = #1/1/2008 10:11:49#
Dim
t As TimeSpan = d2 - d1
Output.Show(t.Days &
"天" & t.Hours & "小时" & t.Minutes & "分" & t.Seconds & "秒")

在命令窗口执行上述代码,得到的输出结果是:2115天21小时41分20秒

利用时段数据的下述属性,可以将时段转换为一个数值:

属性 说明
TotalDays 将时段值转换为以天为单位的数值
TotalHours 将时段值转换为以小时为单位的数值
TotalMinutes 将时段值转换为以分为单位的数值
TotalSeconds 将时段值转换为以秒为单位的数值

例如:

Dim d1 as Date = #3/17/2002 12:30#
Dim
d2 as Date = #1/1/2008 18:30#
Dim t As TimeSpan = d2 - d1

Output.Show(t.TotalDays &
"")

在命令窗口执行上述代码,得到的输出结果是:2116.25天

利用时段数据的Add和Subtract方法,可以进行时段的加减,并得到一个新的时段值。

例如:

Dim t0 As New TimeSpan(10,0,5)
Dim
t1 As New TimeSpan(40,6,30,15)
Dim
t2 As New TimeSpan(40,20,45)
Dim
t3 As TimeSpan
t3
= t1.Subtract(t2) 't3等于t1减去t2
t3 = t3.Add(t0)
't3加上t0
Output.Show(t3.Days &
"天" & t3.Hours & "小时" & t3.Minutes & "分" & t3.Seconds & "秒")

在命令窗口执行上述代码,得到的输出结果是:39天0小时9分35秒

日期可以和时段进行加减,得到一个新的日期,例如:

Dim dt As Date = Date.Now
Dim
sp As New TimeSpan(20,13,45)
Dim
dt1 As Date = dt + sp  '20小时1345秒之后的时间
Dim
dt2 As Date = dt - sp  '20小时1345秒之前的时间

有时为了测试代码的效率,我们需要记录代码执行所耗费的秒数,可以参考下面的代码:

Dim t1 As Date = Date.Now
Dim
Sum As Long
For
i As Integer = 1 To 10000000
    Sum = Sum + i

Next

Output.Show(
"计算结束, 耗时: " & (Date.Now - t1).TotalSeconds & "秒"
)


本页地址:http://www.foxtable.com/webhelp/topics/0287.htm