在 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# 转换为对应的时间戳,并在消息框中显示。

Excel VBA 时间戳与日期时间互相转换方法

原文地址: https://www.cveoy.top/t/topic/pkb2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录