W3C格式的时间

问题描述:

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

实施例:

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

更新1

我具有以下声明在配置/区域设置/ my_locale.yml:

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

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

我发现this参考,其中包含时区名称,插入%Z。

但是,在哪里是偏移量

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

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

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

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

你已经得到了答案,但我只是想说,因为这不是依赖于用户区域设置,而是由组织定义的标准,所以最好将它保持在区域设置文件之外,比如en.yml

我个人补充

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

application.rb

底部