DateAndTime.DateSerial(Int32, Int32, Int32) Метод

Определение

Возвращает значение типа Date, представляющее заданный год, месяц и день с временем, установленным на полночь (00:00:00).Returns a Date value representing a specified year, month, and day, with the time information set to midnight (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

Обязательное.Required. Целочисленное выражение со значениями от 1 до 9999.Integer expression from 1 through 9999. Однако значения, которые меньше этого диапазона, также являются допустимыми.However, values below this range are also accepted. Как объясняется ниже в разделе "Примечания", значение параметра Year от 0 до 99 представляет соответствующий год в диапазоне от 1930 до 2029.If Year is 0 through 99, it is interpreted as being between 1930 and 2029, as explained in the "Remarks" section below. Если значение параметра Year меньше 1, оно вычитается из текущего года.If Year is less than 1, it is subtracted from the current year.

Month
Int32

Обязательное.Required. Целочисленное выражение со значениями от 1 до 12.Integer expression from 1 through 12. Однако значения, находящиеся за пределами этого диапазона, также являются допустимыми.However, values outside this range are also accepted. Значение параметра Month смещается на 1 и применяется к январю вычисляемого года.The value of Month is offset by 1 and applied to January of the calculated year. Другими словами, к январю добавляется значение (Month - 1).In other words, (Month - 1) is added to January. При необходимости год вычисляется заново.The year is recalculated if necessary. Следующие результаты поясняют этот эффект.The following results illustrate this effect: Если значение Month равно 1, то результатом вычислений будет январь расчетного года.If Month is 1, the result is January of the calculated year.

Если значение Month равно 0, то результатом вычислений будет декабрь предыдущего года.If Month is 0, the result is December of the previous year.

Если значение Month равно -1, то результатом вычислений будет ноябрь предыдущего года.If Month is -1, the result is November of the previous year.

Если значение Month равно 13, то результатом является январь следующего года.If Month is 13, the result is January of the following year.

Day
Int32

Обязательное.Required. Целочисленное выражение со значениями от 1 до 31.Integer expression from 1 through 31. Однако значения, находящиеся за пределами этого диапазона, также являются допустимыми.However, values outside this range are also accepted. Значение аргумента Day смещается на 1 и применяется к первому дню расчетного месяца.The value of Day is offset by 1 and applied to the first day of the calculated month. Другими словами, к первому дню месяца добавляется значение (Day - 1).In other words, (Day - 1) is added to the first of the month. При необходимости месяц и год вычисляются заново.The month and year are recalculated if necessary. Следующие результаты поясняют этот эффект.The following results illustrate this effect: Если значение Day равно 1, то результатом вычислений будет первый день расчетного месяца.If Day is 1, the result is the first day of the calculated month.

Если значение Day равно 0, то результатом вычислений будет последний день предыдущего месяца.If Day is 0, the result is the last day of the previous month.

Если значение Day равно -1, то результатом вычислений будет предпоследний день предыдущего месяца.If Day is -1, the result is the penultimate day of the previous month.

Если значение аргумента Day превышает число дней текущего месяца, результатом вычислений будет соответствующий день следующего месяца.If Day is past the end of the current month, the result is the appropriate day of the following month. Например, если значение параметра Month равно 4, а значение Day равно 31, результатом вычислений будет 1 мая.For example, if Month is 4 and Day is 31, the result is May 1.

Возвращаемое значение

Значение типа Date, представляющее заданный год, месяц и день со временем, установленным на полночь (00:00:00).A Date value representing a specified year, month, and day, with the time information set to midnight (00:00:00).

Примеры

В этом примере функция DateSerial используется для возврата даты для указанного года, месяца и дня.This example uses the DateSerial function to return the date for the specified year, month, and day.

' 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)

Комментарии

В Windows 98 или Windows 2000 двузначные цифры года для аргумента Year интерпретируется на основе определяемых пользователем параметров компьютера.Under Windows 98 or Windows 2000, two-digit years for the Year argument are interpreted based on user-defined computer settings. Параметры по умолчанию: значения от 0 до 29 обрабатываются как годы 2000-2029, а значения от 30 до 99 — как годы 1930-1999.The default settings are that values from 0 through 29 are interpreted as the years 2000-2029, and values from 30 through 99 are interpreted as the years 1930-1999. Для всех остальных Year аргументов используйте четырехзначный год. Например, 1924.For all other Year arguments, use a four-digit year; for example, 1924.

В более ранних версиях Windows годы двух цифр обрабатываются на основе значений по умолчанию, описанных выше.Earlier versions of Windows interpret two-digit years based on the defaults described previously. Чтобы убедиться, что функция возвращает правильное значение, используйте Yearс четырьмя цифрами.To be sure the function returns the proper value, use a four-digit Year.

В следующем примере показаны отрицательные, нулевые и положительные значения аргументов.The following example demonstrates negative, zero, and positive argument values. Здесь функция DateSerial возвращает Date, представляющий день, предшествующий первому дню марта в течение 10 лет до текущего года. Иными словами, последний день из десяти лет назад.Here, the DateSerial function returns a Date representing the day before the first day of March in the year 10 years before the current year; in other words, the last day of February ten years ago.

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

Если значение Month или Day выходит за пределы обычного диапазона, оно применяется к следующей более крупной единице, если это необходимо.If either Month or Day exceeds its normal range, it is applied to the next larger unit as appropriate. Например, если указать 32 дней, оно оценивается как один месяц и от одного до четырех дней в зависимости от значения Month.For example, if you specify 32 days, it is evaluated as one month and from one to four days, depending on the value of Month. Если Year больше 9999 или аргумент находится вне диапазона от-2 147 483 648 до 2 147 483 647, возникает ошибка ArgumentException.If Year is greater than 9999, or if any argument is outside the range -2,147,483,648 through 2,147,483,647, an ArgumentException error occurs. Если дата, заданная тремя аргументами, предшествует 00:00:00 1 января 1 года или более поздней, чем 23:59:59, на 31 декабря 9999, ArgumentOutOfRangeException возникает ошибка.If the date specified by the three arguments is earlier than 00:00:00 on January 1 of the year 1, or later than 23:59:59 on December 31, 9999, an ArgumentOutOfRangeException error occurs.

Date тип данных включает компоненты времени.The Date data type includes time components. DateSerial устанавливает все эти значения равными 0, поэтому возвращаемое значение представляет начало расчетного дня.DateSerial sets all of these to 0, so the returned value represents the beginning of the calculated day.

Поскольку все значения Date поддерживаются структурой DateTime, ее методы предоставляют дополнительные возможности в сборке значения Date.Since every Date value is supported by a DateTime structure, its methods give you additional options in assembling a Date value. Например, можно использовать один из перегруженных конструкторов DateTime, чтобы заполнить переменную Date, используя нужное сочетание компонентов.For example, you can use one of the overloaded DateTime constructors to populate a Date variable using the desired combination of components. В следующем примере задается значение NewDateTime 6 мая 1978 в десятую часть секунды до 8:30 утра:The following example sets NewDateTime to May 6, 1978 at one tenth of a second before 8:30 in the morning:

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

Применяется к

Дополнительно