DateAndTime.DateSerial(Int32, Int32, Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个 Date
值,该值表示指定的年、月和日,时间信息设置为午夜 () 00:00:00。
public:
static DateTime DateSerial(int Year, int Month, int Day);
public static DateTime DateSerial (int Year, int Month, int Day);
static member DateSerial : int * int * int -> DateTime
Public Function DateSerial (Year As Integer, Month As Integer, Day As Integer) As DateTime
参数
- Year
- Int32
必需。 范围为 1 到 9999 的整数表达式。 但是,也接受小于此范围的值。 如果 Year
为 0 到 99,则解释为介于 1930 年至 2029 年之间,如“备注”部分所述。 如果 Year
小于 1,则从当前年份减去它。
- Month
- Int32
必需。 范围为 1 到 12 的整数表达式。 但是,也接受此范围之外的值。 Month
值的偏移量为 1,且该值应用于所计算年份的 1 月。 换言之,就是 1 月加上 (Month
- 1)。 若有必要则对年份进行重新计算。 以下的结果阐释了这种效果:
如果 Month
为 1,则结果为所计算年份的 1 月。
如果 Month
为 0,则结果为上一年的 12 月。
如果 Month
为 -1,则结果为上一年的 11 月。
如果 Month
为 13,则结果为下一年的 1 月。
- Day
- Int32
必需。 范围为 1 到 31 的 Integer 表达式。 但是,也接受此范围之外的值。 Day
值偏移量为 1,该值应用于所计算月份的第一天。 换言之,就是该月份的第一天加上 (Day
- 1)。 若有必要,则对月份和年份进行重新计算。 以下的结果阐释了这种效果:
如果 Day
为 1,则结果为所计算月份的第一天。
如果 Day
为 0,则结果为上一月份的最后一天。
如果 Day
为 -1,则结果为上一月份的倒数第二天。
如果 Day
超过当前月份的月末,则结果为下一月份中相应的一天。 例如,如果 Month
为 4 且 Day
为 31,则结果为 5 月 1 日。
返回
一个 值,该值表示指定的年、月和日,时间信息设置为午夜 () 00:00:00。
示例
此示例使用 DateSerial
函数返回指定年、月和日的日期。
' DateSerial returns the date for a specified year, month, and day.
Dim aDate As Date
' Variable aDate contains the date for February 12, 1969.
aDate = DateSerial(1969, 2, 12)
Console.WriteLine(aDate)
' The following example uses DateSerial to determine and display
' the last day of the previous month.
' First, establish a starting date.
Dim startDate = #1/23/1994#
' The 0 for the day represents the last day of the previous month.
Dim endOfLastMonth = DateSerial(startDate.Year, startDate.Month, 0)
Console.WriteLine("Last day in the previous month: " & endOfLastMonth)
' The following example finds and displays the day of the week that the
' 15th day of the following month will fall on.
Dim fifteenthsDay = DateSerial(Today.Year, Today.Month + 1, 15)
Console.WriteLine("The 15th of next month is a {0}", fifteenthsDay.DayOfWeek)
注解
参数的 Year
两位数值基于用户定义的计算机设置进行解释。 默认设置是将 0 到 29 的值解释为 2000-2029 年,从 30 到 99 的值解释为 1930-1999 年。 若要表示所有其他年份,请使用四位数年份,例如 1924 年。
以下示例演示负、零和正参数值。 在这里, DateSerial
函数返回一个 Date
,表示当前年份前 10 年 3 月的第一天;换句话说,是十年前 2 月的最后一天。
Dim EndFeb As Date = DateSerial(-10, 3, 0)
Month
如果 或 Day
超出其正常范围,则根据需要将其应用于下一个更大的单位。 例如,如果指定 32 天,则计算结果为一个月和 1 到 4 天,具体取决于 的值 Month
。 如果 Year
大于 9999,或者任何参数超出 -2,147,483,648 到 2,147,483,647 的范围,则会发生错误 ArgumentException 。 如果三个参数指定的日期早于第 1 年 1 月 1 日的 00:00:00,或晚于 9999 年 12 月 31 日 23:59:59,则会发生错误 ArgumentOutOfRangeException 。
数据类型 Date
包括时间分量。 DateSerial
将所有这些值设置为 0,因此返回的值表示计算日期的开始。
由于结构支持DateTime每个Date
值,因此其方法提供了在组合Date
值时的其他选项。 例如,可以使用其中一个重载 DateTime 构造函数来填充 Date
使用所需组件组合的变量。 以下示例将 设置为 NewDateTime
1978 年 5 月 6 日上午 8:30 之前的十分之一秒:
Dim NewDateTime As Date = New Date(1978, 5, 6, 8, 29, 59, 900)