DateSerial 函数 (Visual Basic)

更新:2007 年 11 月

返回表示已指定年月日的 Date 值,其时间信息被设置为午夜 (00:00:00)。

Public Function DateSerial( _
   ByVal [Year] As Integer, _
   ByVal [Month] As Integer, _
   ByVal [Day] As Integer _
) As DateTime

参数

  • Year
    必选。范围为 1 到 9999 的 Integer 表达式。但也接收小于此范围的值。如果 Year 为 0 到 99,它被解释为介于 1930 年和 2029 年之间,下面的“备注”部分对此做了解释。如果 Year 小于 1,则从当前年份减去它。

  • Month
    必选。范围为 1 到 12 的 Integer 表达式。但也接受此范围之外的值。Month 值的偏移量为 1,且该值应用于所计算年份的 1 月。换言之,就是 1 月加上 (Month - 1)。若有必要则对年份进行重新计算。以下的结果阐释了这种效果:

    • 如果 Month 为 1,则结果为所计算年份的 1 月。

    • 如果 Month 为 0,则结果为上一年的 12 月。

    • 如果 Month 为 -1,则结果为上一年的 11 月。

    • 如果 Month 为 13,则结果为下一年的 1 月。

  • Day
    必选。范围为 1 到 31 的 Integer 表达式。但也接受此范围之外的值。Day 值偏移量为 1,该值应用于所计算月份的第一天。换言之,就是该月份的第一天加上 (Day - 1)。若有必要,则对月份和年份进行重新计算。以下的结果阐释了这种效果:

    • 如果 Day 为 1,则结果为所计算月份的第一天。

    • 如果 Day 为 0,则结果为上一月份的最后一天。

    • 如果 Day 为 -1,则结果为上一月份的倒数第二天。

    • 如果 Day 超过当前月份的月末,则结果为下一月份中相应的一天。例如,如果 Month 为 4 且 Day 为 31,则结果为 5 月 1 日。

备注

在 Windows 98 或 Windows 2000 环境中,对 Year 参数以两位数表示的年份的解释是基于用户定义的计算机设置的。默认设置是将 0 到 29 的值解释为 2000 年到 2029 年,将 30 到 99 的值解释为 1930 年到 1999 年。对于所有其他 Year 参数,则使用四位数表示年份,例如 1924。

早些的 Windows 版本对两位数所表示年份进行的解释是基于上述默认状态的。若要保证函数返回正确的值,请使用以四位数表示的 Year。

下面的示例展示了负数、零和正数参数值的用法。假设 DateSerial 函数返回一个 Date,它表示目前年份 10 年前的 3 月 1 日的前一天(换言之,就是 10 年前 2 月的最后一天)。

Dim EndFeb As Date = DateSerial(-10, 3, 0)

如果 Month 或 Day 超过其正常范围,则将它应用于下一相应的更大单位。例如,如果指定 32 天,其计算结果为一月余一至四天,所余天数取决于 Month 的值。如果 Year 大于 9999,或者参数在范围 -2,147,483,648 到 2,147,483,647 之外,则发生 ArgumentException 错误。如果三个参数所指定的日期早于公元元年 1 月 1 日 00:00:00 时,或者晚于 9999 年 12 月 31 日 23:59:59,则发生 ArgumentOutOfRangeException 错误。

Date 数据类型包括时间组件。DateSerial 将所有这些组件设置为 0,因而返回的值表示所计算当天的开始。

由于每个 Date 值都由 DateTime 结构支持,所以其方法提供了在组合 Date 值时的附加选项。例如,能够以期望的组件组合使用重载的 DateTime 构造函数之一来填充 Date 变量。下面的示例将 NewDateTime 设置为 1978 年 5 月 6 日上午 8:30 差十分之一秒:

Dim NewDateTime As Date = New Date(1978, 5, 6, 8, 29, 59, 900)

示例

本示例使用 DateSerial 函数返回指定了年月日的日期。

Dim MyDate As Date
' MyDate contains the date for February 12, 1969.
MyDate = DateSerial(1969, 2, 12)   ' Return a date.

要求

命名空间:Microsoft.VisualBasic

**模块:**DateAndTime

**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)

请参见

参考

DateValue 函数 (Visual Basic)

Day 函数 (Visual Basic)

Month 函数 (Visual Basic)

Now 属性

TimeSerial 函数 (Visual Basic)

TimeValue 函数 (Visual Basic)

Weekday 函数 (Visual Basic)

Year 函数 (Visual Basic)

Date 数据类型 (Visual Basic)

System