如何用vba把13位或者10位的时间戳转换为实际的日期时间格式?

在爬取某个网站的返回数据时出现了类似这样的内容:

 

“ctime”:1593780471

 

其中ctime是一个时间戳,它表示的是从1970年1月1日 8:0:0到对应的时间为止的毫秒数或者秒数。

 

知道这样一个时间戳,可以使用如下的VBA代码转换为具体的日期时间:

 

Sub QQ1722187970()
    '公众号:水星excel
    iSecond = 1593780471
    dtNow = VBA.DateAdd("s", iSecond, #1/1/1970 8:00:00 AM#)
    Debug.Print dtNow
End Sub

 

反过来,如果要获取当前的时间对应的时间戳,可以使用如下的代码:

 

Sub QQ1722187970()
    '公众号:水星excel
    iSecond = VBA.DateDiff("s", #1/1/1970 8:00:00 AM#, Now())
    Debug.Print iSecond
End Sub

 

上述时间戳是对应的秒数,如果是毫秒数,则还要除以1000。

       

发表评论