Поделиться через


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

Определение

Возвращает значение, 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 и применяется к январю вычисляемого года. Другими словами, к январю добавляется значение (Month - 1). При необходимости год вычисляется заново. Следующие результаты поясняют этот эффект.

Если значение Month равно 1, то результатом вычислений будет январь расчетного года.

Если значение Month равно 0, то результатом вычислений будет декабрь предыдущего года.

Если значение Month равно -1, то результатом вычислений будет ноябрь предыдущего года.

Если значение Month равно 13, то результатом является январь следующего года.

Day
Int32

Обязательный. Целочисленное выражение со значениями от 1 до 31. Однако значения, находящиеся за пределами этого диапазона, также являются допустимыми. Значение аргумента Day смещается на 1 и применяется к первому дню расчетного месяца. Другими словами, к первому дню месяца добавляется значение (Day - 1). При необходимости месяц и год вычисляются заново. Следующие результаты поясняют этот эффект.

Если значение Day равно 1, то результатом вычислений будет первый день расчетного месяца.

Если значение Day равно 0, то результатом вычислений будет последний день предыдущего месяца.

Если значение Day равно -1, то результатом вычислений будет предпоследний день предыдущего месяца.

Если значение аргумента Day превышает число дней текущего месяца, результатом вычислений будет соответствующий день следующего месяца. Например, если значение параметра Month равно 4, а значение Day равно 31, результатом вычислений будет 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.

В следующем примере показаны отрицательные, нулевые и положительные значения аргументов. Здесь функция возвращает значение Date , представляющее день перед первым днем марта в году за DateSerial 10 лет до текущего года, иными словами, последний день февраля десятилетней давности.

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

Если значение Month или Day превышает обычный диапазон, оно применяется к следующей единице, более крупной, если это необходимо. Например, если указать 32 дня, они оцениваются как один месяц и от одного до четырех дней в зависимости от значения Month. Если Year значение больше 9999 или какой-либо аргумент находится за пределами диапазона от -2 147 483 648 до 2 147 483 647, ArgumentException возникает ошибка. Если дата, указанная тремя аргументами, раньше 00:00:00 1 января 1 года или позже 23:59:59 31 декабря 9999 года, ArgumentOutOfRangeException возникает ошибка.

Тип Date данных включает компоненты времени. DateSerial устанавливает для всех этих значений значение 0, поэтому возвращаемое значение представляет начало вычисляемого дня.

Так как каждое Date значение поддерживается структурой DateTime , ее методы предоставляют дополнительные возможности при сборке Date значения. Например, можно использовать один из перегруженных DateTime конструкторов для заполнения переменной Date с помощью требуемой комбинации компонентов. В следующем примере устанавливается NewDateTime значение 6 мая 1978 г. за одну десятую секунду до 8:30 утра:

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

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

См. также раздел