Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RoR中Date.Dayed和Date.today.prev_day与1.day.ago之间的结果不同_Ruby On Rails_Ruby_Date - Fatal编程技术网

Ruby on rails RoR中Date.Dayed和Date.today.prev_day与1.day.ago之间的结果不同

Ruby on rails RoR中Date.Dayed和Date.today.prev_day与1.day.ago之间的结果不同,ruby-on-rails,ruby,date,Ruby On Rails,Ruby,Date,根据前一天使用的命令,我当前得到的结果不同。唯一正确的答案是Date.today.prev_day 我可以理解为什么1.day.ago和Date.day可能会因时区不同而有所不同,但我希望两次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>

根据前一天使用的命令,我当前得到的结果不同。唯一正确的答案是
Date.today.prev_day

我可以理解为什么
1.day.ago
Date.day
可能会因时区不同而有所不同,但我希望两次
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

为什么使用这三个命令会得到不同的结果?

它的工作原理与我预期的一样:

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)。源位置


它为我返回
nil

问题是什么?作为
rails
扩展
prev\u day
通常在
irb
中不可用。你是怎么装的。对于最后一个
1.day.ago
更好地理解为“86400秒前”。@MarcRohloff我只是在做一个
rails控制台
@AlexanderLuna我只是想知道为什么每个人的结果都不一样。对不起,我没说清楚。