我正在 build 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
是的,但您链接的文档适用于最新的稳定版本 (1.9.3),而不是 1.8.7 - 顺便说一句 - 不再受支持。而且似乎 %:z
选项在 Ruby 1.8.7 中不可用。
还有稳定版本:2.0.0 和 2.1.3 - 在其中任何一个版本中您都会获得所需的行为。
我是一名优秀的程序员,十分优秀!