Dim Value As Date
日期类型在内部以带符号的64位浮点数据类型表示,小数点左侧的值表示从1899年12月30日开始的天数(尽管请参阅下面的注释)。小数点右边的值将时间表示为小数天。因此,整数Date将具有12:00:00 AM的时间分量,而x.5将具有12:00:00 PM的时间分量。
Date的有效值在1月1日100和12月31日9999之间。由于Double的范围较大,因此可以通过分配超出该范围的值来溢出Date。
因此,它可以与Double for Date计算互换使用:
Dim MyDate As Double MyDate = 0 'Epoch date. Debug.Print Format$(MyDate, "yyyy-mm-dd") 'Prints 1899-12-30. MyDate = MyDate + 365 Debug.Print Format$(MyDate, "yyyy-mm-dd") 'Prints 1900-12-30.
转换为Date的转换函数为CDate(),它接受任何数字类型的字符串日期/时间表示形式。重要的是要注意,日期的字符串表示形式将根据当前使用的语言环境设置进行转换,因此,如果该代码是可移植的,则应避免直接强制转换。