将Ruby Time转换为HTML5全局日期和时间字符串


Ruby中,如何将theFixnum 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)我如何获得毫秒?时间是否存储毫秒?
并且,(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,会发生什么?我认为这取决于用法.

点赞