我有以下UNIX纪元时间戳 - 1475001600029
我需要将其转换为local
格式的日期时间 - 2016/09/28 00:01:13.536
我尝试过的事情
irb(main):005:0> Time.at(1475001600079)
=> 48710-12-11 00:11:19 +0530 # gives a weird value for year
irb(main):010:0> Time.strptime(1475001600079.to_s, '%Q')
NoMethodError: undefined method `strptime' for Time:Class
from (irb):10
from C:/RailsInstaller/Ruby2.2.0/bin/irb:11:in `<main>'
如何解决这个问题?
RUby版本是 - ruby 2.2.4p230 (2015-12-16 revision 53155) [i386-mingw32]
答案 0 :(得分:2)
您可以考虑使用:millisecond
的{{1}}选项来代替1000的明确除法
Time.at()
答案 1 :(得分:1)
尝试Time.at(1475001600079 / 1000.0)
。
红宝石的纪元时间以秒为单位,而不是毫秒。
关于NoMethodError
,您需要require 'time'
才能致电Time::strptime
。
最后你需要的格式:
Time.at(1475001600079 / 1000.0).strftime('%Y/%m/%d %H:%M:%S.%3N')