Тип данных Date (Visual Basic)

Хранит 64-битные (8-байтные) IEEE-значения, представляющие даты в диапазоне от 1 января 0001 года до 31 декабря 9999 года и время в диапазоне от 12:00:00(полночь) до 11:59:59.9999999 PM. Каждое приращение представляет собой интервал времени в 100 наносекунд, начиная с 00:00 1-го января 1-го года по григорианскому календарю. Максимальное значение представляет собой значение времени на 100 наносекунд меньшее, чем 1 января 10000 года.

Заметки

Тип данных Date используется для хранения значений даты, значений времени или значений даты и времени.

Значением по умолчанию для Date является 0:00:00 (полночь) 1 января 0001 года.

Можно получить текущую дату и время из класса DateAndTime.

Требования формата

Необходимо заключить литерал Date в решетки (# #). Необходимо указать значение даты в формате m/d/yyyy, например #5/31/1993#. Это требование не зависит от языкового стандарта компьютера и настроек формата даты и времени.

Причина этого ограничения в том, что код никогда не должен меняться в зависимости от языкового стандарта, в котором выполняется приложение. Предположим, что литерал Date #3/4/1998# жестко запрограммирован и должен означать 4 марта 1998 года. В языковом стандарте, использующем mm/dd/yyyy, 3/4/1998 компилируется как предполагается. Однако предположим, что развертывание приложения происходит во многих странах. В языковом стандарте, использующем dd/mm/yyyy, жестко заданный литерал будет компилироваться в April 3, 1998 (3 апреля 1998 года). В языковом стандарте, использующем yyyy/mm/dd, литерал будет недопустимым (April 1998, 0003) и вызывают ошибку компилятора.

Методы обхода проблемы

Для преобразования литерала Date в формат вашего языкового стандарта или в пользовательский формат, передайте литерал функции Format, указав либо встроенный, либо пользовательский формат даты. Это показано в приведенном ниже примере.

MsgBox("The formatted date is " & Format(#5/31/1993#, "dddd, d MMM yyyy"))

Кроме того, можно использовать один из перегруженных конструкторов структуры DateTime для сборки значений даты и времени. В следующем примере создается значение для представления 12:14 после полудня 31 мая, 1993.

Dim dateInMay As New System.DateTime(1993, 5, 31, 12, 14, 0)

Часовой формат

Можно указать значение времени в 12-часовом или 24-часовом формате, например #1:15:30 PM# или #13:15:30#. Однако, если не указаны минуты или секунды, то необходимо указать AM или PM.

Значения даты и времени по умолчанию

Если дата не включена в литерал даты и времени, то Visual Basic задает в качестве части даты значение "January 1, 0001" (1 января 0001). Если время не включено в литерал даты и времени, то Visual Basic задает в качестве части времени начало дня, т.е. полночь (0:00:00).

Преобразования типов

Если преобразовать значение Date к типу String, то Visual Basic отобразит дату в соответствии с кратким форматом даты, заданным языковым стандартом времени выполнения, и время в формате времени (12-часовой или 24-часовой), заданном языковым стандартом времени выполнения.

Советы по программированию

  • Вопросы взаимодействия. При взаимодействии с компонентами, написанными не для .NET Framework, например, автоматизации или COM-объектов, имейте в виду, что типы даты/времени в других средах несовместимы с типом Date Visual Basic. Если осуществляется передача аргумента даты/времени в такой компонент, объявите его как Double вместо Date в новом коде Visual Basic и используйте методы преобразования DateTime.FromOADate и DateTime.ToOADate.

  • Символы типа. Тип Date не имеет символов типа литерала или символов типа идентификатора. Однако компилятор обрабатывает литералы, заключенные в решетки (# #), как Date.

  • Тип Framework.. В .NET Framework данный тип соответствует структуре DateTime.

Пример

Переменная или константа типа данных Date содержит и дату, и время. Это показано в приведенном ниже примере.

Dim someDateAndTime As Date = #8/13/2002 12:14 PM#

См. также

Ссылки

Сводка типов данных (Visual Basic)

DateTime

Функции преобразования типов (Visual Basic)

Сводка по преобразованию (Visual Basic)

Основные понятия

Строки стандартных форматов даты и времени

Строки настраиваемых форматов даты и времени

Эффективное использование типов данных (Visual Basic)