【发布时间】:2011-05-30 10:08:14
【问题描述】:
在为“日期时间”字段序列化 Rails 对象时是否可以包含微秒?例如:
{
"created_at":"2011-05-27T19:49:43.123456Z",
"updated_at":"2011-05-27T19:49:43.654321Z",
"..."
}
【问题讨论】:
标签: ruby-on-rails ruby xml json
在为“日期时间”字段序列化 Rails 对象时是否可以包含微秒?例如:
{
"created_at":"2011-05-27T19:49:43.123456Z",
"updated_at":"2011-05-27T19:49:43.654321Z",
"..."
}
【问题讨论】:
标签: ruby-on-rails ruby xml json
您需要覆盖在this file 中设置的默认 JSON 格式。 您要使用的格式是这样的
strftime('%Y/%m/%d %H:%M:%S.%6N %z')
您可以像这样修补 JSON 的 DateTime 输出
class DateTime
def as_json(options = nil)
strftime('%Y/%m/%d %H:%M:%S.%6N %z')
end
end
这里是 strftime() 中可用的小数时间参考的参考 %N - 小数秒位数,默认为 9 位数(纳秒)
%3N millisecond (3 digits)
%6N microsecond (6 digits)
%9N nanosecond (9 digits)
【讨论】:
user.created_at.usec = 123456 和 user.updated_at.usec = 654321