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

由于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]
posted @   xingoo  阅读(1328)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2013-03-09 虚拟机vmware与本地磁盘共享方法
点击右上角即可分享
微信分享提示