请帮助我发生在这里的事情 - 我知道这很愚蠢,但我想知道。
以下代码的输出是April-18-2105。它是如何弹出的?
Private Sub CommandButton1_Click()
Dim firstDate As Date, secondDate As Date
firstDate = DateValue("Jun 19, 2010")
secondDate = DateValue("oct 29,1994")
MsgBox (firstDate + secondDate)
End Sub
提前致谢!
答案 0 :(得分:2)
日期实际上存储为数字,因此如果我们查看这些日期的数值:
CLng(datevalue("Jun 19, 2010")) '// 40348
CLng(datevalue("oct 29, 1994")) '// 34636
并将它们添加到一起:
40348 + 34636 = 74984
并将该号码转换回日期:
CDate(74984) '// 18/04/2105
因为它是在00/01/1900之后的74,984天
答案 1 :(得分:0)
日期是数字,格式为dd / mm / yyyy,我认为它是1899年12月31日的日子,所以这就是正在发生的事情。结果是40348 + 34636 = 74984,即18/04/2105。
答案 2 :(得分:0)
Excel将日期存储为指定日期之后的天数。因此,表示日期为2010/06/19的整数为40348,表示1994/10/29的整数为34636.当您将这些整数相加时,得到74984,这是表示2105/04/18的整数。
参考日期与mac to windows不同。我在Windows上运行,我没有更改我的参考日期设置,这就是那些整数来自的地方。 Mac使用1904年1月2日作为第1天,Windows使用1900年1月1日作为第1天。