W3C格式的时间

时间:2011-04-06 19:08:19

标签: ruby-on-rails date timezone w3c

如何以W3C格式渲染时间,包括小时,分钟,秒和时区偏移。

示例:

1997-07-16T19:20:30+01:00

更新1

我在config / locales / my_locale.yml中有以下声明:

time:
  formats:
    w3c: %Y-%m-%dT%H:%M

唯一缺失的部分是偏移,例如“+01:00”。什么是插值符号?

我找到this引用,其中包含时区名称,使用%Z进行插值。

但是,偏移

3 个答案:

答案 0 :(得分:5)

实际上你应该使用%:z来包含+符号。您还需要包括秒。

"%Y-%m-%dT%H:%M:%S%:z"

更新:请注意,这只适用于Ruby 1.9.3+,%:z格式令牌在早期版本中不可用!

答案 1 :(得分:0)

要插入时区偏移值,应使用%z键(小写字母)。

答案 2 :(得分:0)

您已经得到了答案,但我只想说,因为这不取决于用户区域设置,而是组织定义的标准,最好将其保留在区域设置文件之外,例如en。 YML

我个人添加

Time::DATE_FORMATS[:w3c] = "%Y-%m-%dT%H:%M:%S%:z"
Date::DATE_FORMATS[:w3c] = "%Y-%m-%d"

位于application.rb

的底部