【发布时间】:2013-07-01 05:17:08
【问题描述】:
我正在使用 JBuilder 来呈现我的应用程序的 JSON API 部分的视图。我遇到的问题是我的 DateTimes 是这样呈现的:
“2013-07-02T17:03:18.000Z”
...当我真正想要的是这样的时候:
“2013-07-02T17:03:18Z”
我不确定这些小数是从哪里来的......
我正在以典型的 JBuilder 方式呈现该字段:
json.my_datetime_field
我的应用中有一个日期格式初始化程序:
Date::DATE_FORMATS[:default] = '%Y/%m/%d %Z'
Time::DATE_FORMATS[:default] = '%Y/%m/%d %H:%M:%S %Z'
Date::DATE_FORMATS[:month_day_year] = '%m-%d-%Y'
不过,这似乎不会影响 JBuilder,这很好。我想要来自我的 API 的 ISO8601 格式。顺便说一句,我在 Rails 4.0.0 final 上。
【问题讨论】:
-
不确定 JBuilder 的设置,但仅供参考 - ISO8601 中允许小数秒小数。 3 个地方很常见,但 6 或 7 个地方也很常见。
-
是的,我放弃并更改了客户端解析器的日期格式化程序以允许小数秒。我将把这个问题留在这里,以防有人知道如何实际更改 jbuilder 的输出。我最接近的是猴子修补 DateTime 以使用“as_json”返回我想要的东西,但这似乎真的很hacky。
标签: ruby-on-rails datetime ruby-on-rails-4 jbuilder