如何以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进行插值。
但是,偏移?
答案 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