在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
答案 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
。