Rails 3 / Ruby 1.9.2 Date.tomorrow不正确

时间:2011-09-26 00:24:24

标签: ruby-on-rails ruby ruby-on-rails-3

在Mac Snow leopard上使用Ruby 1.9.2和Rail 3

ruby-1.9.2-p290 :001 > Date.today
 => Sun, 25 Sep 2011 
ruby-1.9.2-p290 :002 > Date.tomorrow
 => Tue, 27 Sep 2011 

ruby​​日期类可能有问题,或者这与我安装ruby的方式有关吗?

编辑:

ruby-1.9.2-p290 :039 > Date.current
 => Mon, 26 Sep 2011 
ruby-1.9.2-p290 :040 > DateTime.now
 => Sun, 25 Sep 2011 20:47:01 -0500

好吧所以rails Date类看起来有点儿麻烦。 DateTime类似乎工作正常。谢谢derp和Adam

3 个答案:

答案 0 :(得分:11)

在线查看信息并发现了这一点:
https://rails.lighthouseapp.com/projects/8994/tickets/6410-dateyesterday-datetoday


检查最后的评论:

  

我同意你的意见,你需要使用它有点令人困惑   Date.current与Date.yesterday而不是Date.today,但是   一般的经验法则是Rails不会改变Ruby方法的工作方式,   Date.today是哪个。我们所能做的就是添加更好的文档和   确保人们意识到微妙的差异。


换句话说,使用current(rails)而不是today(ruby)来避免问题。

答案 1 :(得分:9)

我也在观察这一点。您可以尝试DateTime.now.tomorrow.to_date

答案 2 :(得分:1)

您也可以Date.today + 1.day