Excel VBA 时间戳与日期时间互相转换方法
在 VBA 中,可以使用以下代码将时间戳转换为日期时间格式:
Function ConvertTimestampToDateTime(timestamp As Double) As Date
ConvertTimestampToDateTime = DateAdd('s', timestamp, '01/01/1970 00:00:00')
End Function
在上面的代码中,我们使用了DateAdd 函数,将时间戳加到 1970 年 1 月 1 日的起始日期时间上,从而得到对应的日期时间值。
要将日期时间转换为时间戳,可以使用以下代码:
Function ConvertDateTimeToTimestamp(dateTime As Date) As Double
ConvertDateTimeToTimestamp = (dateTime - DateValue('01/01/1970 00:00:00')) * 86400
End Function
在上面的代码中,我们使用了DateValue 函数将日期时间的日期部分提取出来,并将其与 1970 年 1 月 1 日的起始日期时间相减,得到相对于起始日期时间的天数。然后,我们将天数乘以 86400,得到对应的时间戳。
以下是一个使用示例:
Sub ConvertTimestamp()
Dim timestamp As Double
Dim dateTime As Date
' 将时间戳转换为日期时间
timestamp = 1623920585
dateTime = ConvertTimestampToDateTime(timestamp)
MsgBox '日期时间:' & dateTime
' 将日期时间转换为时间戳
dateTime = #6/17/2021 10:49:45 AM#
timestamp = ConvertDateTimeToTimestamp(dateTime)
MsgBox '时间戳:' & timestamp
End Sub
在上面的示例中,我们先将时间戳 1623920585 转换为对应的日期时间,并在消息框中显示。然后,我们将日期时间 #6/17/2021 10:49:45 AM# 转换为对应的时间戳,并在消息框中显示。
原文地址: https://www.cveoy.top/t/topic/pkb2 著作权归作者所有。请勿转载和采集!