偏执性精神障碍症状:DateDiff 函数
来源:百度文库 编辑:偶看新闻 时间:2024/04/24 04:59:04
DateDiff 函数
返回一个 Long值,该值指定两个 Date值之间的时间间隔数。
Public Overloads Function DateDiff( _ ByVal Interval As DateInterval, _ ByVal Date1 As DateTime, _ ByVal Date2 As DateTime, _ Optional ByVal DayOfWeek As FirstDayOfWeek = FirstDayOfWeek.Sunday, _ Optional ByVal WeekOfYear As FirstWeekOfYear = FirstWeekOfYear.Jan1 _) As Long
- 或 -
Public Overloads Function DateDiff( _ ByVal Interval As String, _ ByVal Date1 As Object, _ ByVal Date2 As Object, _ Optional ByVal DayOfWeek As FirstDayOfWeek = FirstDayOfWeek.Sunday, _ Optional ByVal WeekOfYear As FirstWeekOfYear = FirstWeekOfYear.Jan1 _) As Long
参数
- Interval
- 必选项。DateInterval枚举值或 String表达式,表示要用作 Date1和 Date2 之间差额单位的时间间隔。
- Date1、Date2
- 必选。数据类型为 Date。想用于计算的两个日期/时间值。差额为 Date2的值减去 Date1的值。调用程序中的两个值都未更改。
- DayOfWeek
- 可选项。选自 FirstDayOfWeek枚举的值,该枚举用于指定周的第一天。若未指定,则使用 FirstDayOfWeek.Sunday。
- WeekOfYear
- 可选项。选自 FirstWeekOfYear枚举的值,该枚举用于指定年的第一周。若未指定,则使用 FirstWeekOfYear.Jan1。
设置
Interval参数可以有以下设置。
DayOfWeek参数可以有以下设置之一。
WeekOfYear参数可以有以下设置。
异常/错误
备注
可以使用 DateDiff函数来确定两个日期/时间值之间存在多少指定时间间隔。例如,可以使用 DateDiff来计算两个日期之间相隔几日,或计算从今天起到年底相隔几周。
若 DateInterval.DayOfYear 设置了 Interval,则对其的处理和 DateInterval.Day一样,因为 DayOfYear作为时间间隔单位是没有意义的。
若 Interval被设置为 DateInterval.WeekOfYear,则返回值表示包含 Date1 的周的第一天与包含 Date2 的周的第一天相隔的周数。以下的示例显示了这样所产生的结果与 DateInterval.Weekday所产生的结果的不同之处。
Dim DatTim1 As Date = #1/4/2001# ' This is a Thursday. Dim DatTim2 As Date = #1/9/2001# ' This is the next Tuesday. ' Assume Sunday is specified as first day of the week. Dim WD As Long = DateDiff(DateInterval.Weekday, DatTim1, DatTim2) Dim WY As Long = DateDiff(DateInterval.WeekOfYear, DatTim1, DatTim2)
在上述示例中,DateDiff为 WD 返回 0,因为两日期之间的差额小于七天,而它为 WY 返回 1,因为两个日历周各自的第一天之间相差七天。
若 Interval被设置为 DateInterval.Year,则返回值只从 Date1和 Date2 的年份部分算起。
因为 Date1和 Date2的数据类型为 Date,所以它们所容纳系统计时器上日期和时间值精确到 100 毫微秒。可是,DateDiff总是将时间间隔数返回成 Long数据类型值。
若 Date1表示的日期和时间比 Date2 的晚,则 DateDiff返回负数。
如果有任何参数的值无效,就会发生 ArgumentException错误。若 Date1或 Date2参数的值无法转换为有效 Date值,则发生 InvalidCastException错误。
注意将 12 月 31 日与来年的 1 月 1 日比较时,即便只过去一天,DateDiff给 DateInterval.Year、DateInterval.Quarter或 DateInterval.Month都返回 1。
因为每个 Date值都由 DateTime结构支持,所以其方法在查找时间间隔中提供了附加选项。例如,可以在它两个重载窗体的任一个内使用 Subtract方法。一个窗体将 Date变量减去 TimeSpan后返回另一 Date值;另一个则减去 Date值后返回 TimeSpan。可以给过程计时,以确定它所花的毫秒数,如下所示:
Dim StartTime As Date = Now ' Starting date/time. ' Run the process that is to be timed. Dim RunLength As System.TimeSpan = Now.Subtract(StartTime) Dim Millisecs As Integer = RunLength.Milliseconds
示例
本示例使用 DateDiff函数显示给定日期和今天的间隔天数。
Dim FirstDate, Msg As String ' Declare variables. Dim SecondDate As Date FirstDate = InputBox("Enter a date") SecondDate = CDate(FirstDate) Msg = "Days from today: " & DateDiff(
DateInterval.Day, Now, SecondDate) MsgBox (Msg)