为什么Str(CDbl(Now()))返回43185.44166666667?

时间:2018-03-26 07:48:14

标签: vba access-vba

今天是26/03/2018。 为什么Str(CDbl(Now()))会返回43185.44166666667? 和 Str(CLng(Now()))会返回43185吗?我期待一个以26032018开头的字符串...

2 个答案:

答案 0 :(得分:1)

Access和VBA中的日期定义为双精度数,其中整数是天数,分数是一天的分数,从30-12-1899开始。

如果要将日期转换为格式化字符串,请使用Format

Format(Now(), "ddmmyyyy")将返回您的预期结果。

答案 1 :(得分:0)

日期是自1899年12月31日以来的天数,时间分量是一天的小数。

这就是你获得数值的原因。

如果您想将Date格式化为ddmmyyyy字符串,则应使用Format$函数

Debug.Print Format$(Now(),"ddmmyyyy")