无法将时间戳格式化为 vba 中的日期

Unable to format a timestamp to a date in vba

我正在尝试将时间戳 1624373961042 格式化为日期,但我在下面尝试的方法总是给我 overflow 错误。我期待从那个时间戳中得到这个日期 2021-06-22。我怎样才能让它成为可能?

Sub getDate()
    Dim tDate As Long, timestamp As String
    timestamp = "1624373961042"
    
    tDate = Int(timestamp) / 1000
    MsgBox Format(tDate, "yyyymmdd")
End Sub

您需要将数字除以一天中的毫秒数:86400000

然后加上从 12/31/1899 到 1/1/1970 的天数:25569

Sub getDate()
    Dim tDate As Long, timestamp As String
    timestamp = "1624373961042"
    
    tDate = Int((CDbl(timestamp) / 86400000) + 25569)
    MsgBox Format(tDate, "yyyymmdd")
End Sub