我正在构建a sitemap for Google,并希望使用Ruby以推荐格式使用带有时区的W3C标准格式化日期时间,如下所示,
YYYY-MM-DDThh:mmTZD
其中TZD是时区指示符。但是,Ruby on Rails从SQL数据库的last_updated字段导出的默认格式中有空格,例如
2014-09-19 10:33:05 UTC
如何格式化ruby中的日期时间以删除空格并以正确的格式包含时区?
可以使用strftime方法在ruby中访问TZD,如下所示:
myobject.updated_at.strftime("%Y-%m-%dT%H:%M:%S%z")
这将使用以下格式的TZD格式化时间
2014-09-26T07:53:14+0000
但是我需要以+00:00
的格式获得TZD根据the Ruby docs,我应该可以使用
%:z
然而,这显示为
2014-09-26T08:10:21%:z
ruby 1.8.7
答案 0 :(得分:1)
是的,但您链接的文档是针对最新的稳定版本(1.9.3),而不是1.8.7 - 不再支持BTW。似乎{1}}选项在Ruby 1.8.7中不可用。
还有稳定的版本:2.0.0和2.1.3 - 在任何一个版本中你都会得到所需的行为。