在 Ruby 中,如何将 Fixnum
1291132740128(自纪元以来的毫秒数)转换为等效的 HTML5 global time & date string (另见 HTML5 time element explanation。例如,1979-10-14T12:00:00.001-04:00)?
我的第一次尝试是:
> Time.at(1291132740128/1000.0).strftime("%Y-%m-%dT%H:%M:%S-%Z")
=> "2010-11-30T10:59:00-EST"
但是,(1) 我如何获得毫秒数? Time 是否存储毫秒?
并且,(2) 如何让时区为 -0400 或 -0500,具体取决于是否是夏令时?
编辑:现在我考虑了一下,也许最好将其保留为 1291132740128 并根据浏览器位置使用 JavaScript 进行转换。你怎么看?
最佳答案
1) strftime
中的 %3N
将为您提供毫秒数:
Time.at(1291132740128/1000.0).strftime("%Y-%m-%dT%H:%M:%S.%3N-%Z")
=> "2010-11-30T16:59:00.128-CET"
2) 这不是自动的吗?
编辑:如果用户在这种情况下关闭了他的 JS,会发生什么情况?我认为这取决于用途。
关于ruby - 将 Ruby 时间转换为 HTML5 全局日期和时间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4315895/