我如何以毫秒为单位获得昨天的时间?

How do I get yesterday's time in milliseconds?

我运行撞墙了。我想以毫秒为单位获取昨天的时间。我认为以下内容可以完成工作

irb(main):001:0> yday = 1.day.ago
=> Tue, 03 Apr 2018 20:35:24 UTC +00:00
irb(main):002:0> yday.strftime('%Q').to_f
=> 0.0

但如您所见,昨天的时间我得到的是“0.0”。我怎样才能更正我必须准确获得以毫秒为单位的时间?

你有两个选择:

(DateTime.now-1.day).strftime('%Q')

或:

yday = 1.day.ago
yday.to_datetime.strftime('%Q')

为什么需要 to_datetime?那么,1.day.ago 是 ActiveSupport::TimeWithZone,它没有 %Q 格式 (documentation) when strftime for DateTime does (documentation)