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

标签 ruby datetime date html time

在 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/

相关文章:

javascript - 如何使用 javascript 将人类可读的小时数转换为毫秒?

c - LXR 用于 Ruby 解释器?

javascript - 用大小不等的圆圈填充空间

python - 字符串到日期 - 格式字符串问题

SQL Server 将字符串转换为日期时间

c# datatable select 带日期的语句

java - 预期结果是 <0> 而不是日期

php - 根据当前日期和表日期删除mysql表行

ruby - 如何使用 Sequel 连接到 postgres 数据库?

javascript - 如何在 Rails 4 中创建嵌套表单