2011-07-05 225 views
0

我试图将日期(日期类型)转换为长整型。 这段时间应该是1900年1月1日以来的天数。 如何在VBA中获得这个结果?在Excel中,当我将一个日期与一个字符串连接起来时,我会自动获取它。将日期转换为日期串行

回答

3
Function dateToLong(ByVal d As Date) As Long 

dateToLong = CLng(d) 
End Function 

如果您需要捕获的时间在漫长的使用这样的:

Function Dt2Lng(aDate As Date) As Long 
    '-- acept datetime range from MinDate to 
    '-- (MinDate + 49710 days + 6:28:15) ~ 136 years 
    Dt2Lng = CLng((aDate - MinDate) * 86400 - 2^31) 
End Function 
+0

为什么你用'd'中的'DateSerial'创建一个日期,这已经是一个日期? 'CLng(d)'就足够了。 – Jacob

+0

非常感谢!你救了我。 –

+1

Upvote ...作为答案的接受(不幸)可能不会发生= / –

0

说,如果你在A1有“2016年1月1日”,您可以使用范围(“A1”) .Value2获取日期序列号。

相关问题