Ruby中如何识别13位的时间戳

时间:2022-04-22
本文章向大家介绍Ruby中如何识别13位的时间戳,主要内容包括使用Time解决、使用Date解决、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

由于13位的时间戳在Ruby中是比较另类的,以为Ruby中默认的时间戳都是10位的。而Time和Date是Ruby中常用的处理时间的模块。

由于最初遇到问题的时候网上搜了好久都没找到合适的,因此就自己写一下,帮助下再次遇到这个问题的小伙伴们吧!

使用Time解决

使用Time的方式比较投机取巧吧。

require 'time'

p Time.at(1456466229973 / 1000, (1456466229973 % 1000) * 1000)

输出

2016-02-26 13:57:09 +0800
[Finished in 0.1s]

使用Date解决

require 'date'
date = DateTime.strptime "1456466229973",'%Q'
p date
p date.strftime("%FT%T%:z")

输出

#<DateTime: 2016-02-26T05:57:09+00:00 ((2457445j,21429s,973000000n),+0s,2299161j)>
"2016-02-26T05:57:09+00:00"
[Finished in 0.1s]