С переменной Date
, по-видимому, по умолчанию она равна January 1, 0001
, если вы не вводите дату в литерале даты / времени.
Однако, если я решу отобразить эту дату по умолчанию, она покажет дату December 30, 1899
, которая даже не является приемлемой датой в Excel. Вот код:
Sub TimeOfBirth()
Dim BirthTime As Date
BirthTime = "2:00:00 PM"
MsgBox Format(BirthTime, "yyyy-mm-dd")
End Sub
Может кто-нибудь объяснить это? Я понимаю, что VBA хранит гораздо больший диапазон дат, но я не понимаю, почему отображается December 30, 1899
?
Что там за математика / логика?