Тип данных 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 данный тип соответствует структуре System.DateTime.
Пример
Переменная или константа типа данных Date содержит и дату, и время.Это показано в приведенном ниже примере.
Dim someDateAndTime As Date = #8/13/2002 12:14 PM#
См. также
Ссылки
Сводка типов данных (Visual Basic)
Функции преобразования типов (Visual Basic)
Сводка по преобразованию (Visual Basic)
Основные понятия
Строки стандартных форматов даты и времени