2

我正在为 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

根据Ruby 文档,我应该可以使用

%:z

然而,这显示为

2014-09-26T08:10:21%:z

红宝石 1.8.7

4

1 回答 1

1

是的,但是您要链接的文档适用于最新的稳定版本 (1.9.3),而不是 1.8.7 - 顺便说一句 - 不再受支持。似乎该%:z选项在 Ruby 1.8.7 中不可用。

还有稳定版本:2.0.0 和 2.1.3 - 在其中任何一个中,您都将获得所需的行为。

于 2014-10-02T02:19:28.463 回答