【发布时间】:2016-11-17 12:00:39
【问题描述】:
我想在不丢失毫秒信息的情况下将纪元毫秒转换为时间。可行吗?
【问题讨论】:
-
举例说明你的时间格式
我想在不丢失毫秒信息的情况下将纪元毫秒转换为时间。可行吗?
【问题讨论】:
您应该使用Time.at 然后usec 方法来获取微秒时间。
epoch_milli = 1479383961245
t = Time.at(epoch_milli / 1000.0) # => 2016-11-17 09:59:21 -0200
micro = t.usec # => 244999
milli = micro / 1000.0 # => 244.999
【讨论】:
seconds, milliseconds = epoch_milli.divmod(1000); Time.at(seconds, milliseconds * 1000)来避免浮点错误。
Time.at(epoch_milli / 1000r)(至少在 Ruby 2.3.1 中工作)。
Time.at(epoch_milli.quo(1000)) 也可以。