Ruby on rails 如何将所有时间戳转换为Unix时间戳?
我的iOS开发人员要求我提供JSON结构中的所有时间戳为Unix时间戳,作为自“1970年1月1日星期四00:00协调世界时(UTC)”以来经过的秒数,不包括闰秒 鉴于我的所有数据都存储在服务器上的字符串中,我想创建一个方法,将所有时间戳转换为整数形式的Unix时间戳 换句话说,我需要转换:Ruby on rails 如何将所有时间戳转换为Unix时间戳?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的iOS开发人员要求我提供JSON结构中的所有时间戳为Unix时间戳,作为自“1970年1月1日星期四00:00协调世界时(UTC)”以来经过的秒数,不包括闰秒 鉴于我的所有数据都存储在服务器上的字符串中,我想创建一个方法,将所有时间戳转换为整数形式的Unix时间戳 换句话说,我需要转换: { "created_at" => "2015-01-18T00:58:58.903Z", "updated_at" => "2015-01-18T00:58:58.903Z",
{
"created_at" => "2015-01-18T00:58:58.903Z",
"updated_at" => "2015-01-18T00:58:58.903Z",
"user_id" => 1,
"status_id" => 1
}
致:
我编写了以下rspec,然后意识到需要修改默认的
as_json
方法来执行此转换:
expect(response_json).to eq(
{
'created_at' => user.created_at.as_json,
'updated_at' => user.updated_at.as_json,
'user_id' => user.user_id,
'status_id' => user.status_id
}
)
然后,我创建了/config/initializers/unix_timestamps.rb
,它成功了:
class ActiveSupport::TimeWithZone
def as_json
self.to_time.to_i
end
end
欢迎来到堆栈溢出。当您请求代码方面的帮助时,您需要向我们展示您的尝试。使用您的代码,我们可以直接解决不起作用的问题。如果没有它,最坏的情况下,您似乎是在要求我们为您编写代码,而最坏的情况下,我们只能编写与您的代码无关的代码,而您必须将这些代码固定在适当的位置。另外,请避免将
改写为
。如果将来,另一个开发人员要求您返回罗马数字,会发生什么情况?您将只有一个方法和多个表示。编写一个将对象作为输入的序列化程序对象,并使用序列化程序转换所需的内容。
class ActiveSupport::TimeWithZone
def as_json
self.to_time.to_i
end
end