我目前得到的结果不同取决于我前一天使用哪个命令。唯一正确的答案是1.day.ago
。
我可以理解为什么基于时区Date.yesterday
和Date
可能会有所不同,但我希望这两个irb(main):026:0> Date.today.prev_day
=> Thu, 02 Mar 2017
irb(main):027:0> Date.yesterday
=> Fri, 03 Mar 2017
irb(main):028:0> 1.day.ago
=> Fri, 03 Mar 2017 02:45:05 UTC +00:00
调用会产生标准化结果。
$.magnificPopup.open
为什么我使用这三个命令获得不同的结果?
答案 0 :(得分:0)
它按照我的预期运作:
2.2.3 :007 > Rails.version
=> "4.2.6"
2.2.3 :002 > Date.today
=> Sun, 05 Mar 2017
2.2.3 :003 > Date.today.prev_day
=> Sat, 04 Mar 2017
2.2.3 :004 > Date.yesterday
=> Sun, 05 Mar 2017
2.2.3 :005 > 1.day.ago
=> Sun, 05 Mar 2017 00:10:13 UTC +00:00
我首先检查Date.today
的结果,即today
方法或prev_day
方法中的问题。我还会检查该方法是否已被某种方式覆盖。您可以执行以下操作:
Date.today.method(:prev_day).source_location
为我返回nil
。