DateTime.yesterday 返回今天的日期而不是昨天


1.9.3p0 :020 > DateTime.now
 => Mon, 02 Jan 2012 21:10:36 -0500 
1.9.3p0 :021 > DateTime.yesterday
 => Mon, 02 Jan 2012 

我很困惑为什么会发生这种情况。知道吗?今天应该是1月2日,昨天是1月1日。

这也很奇怪。

1.9.3p0 :023 > 1.days.ago
 => Mon, 02 Jan 2012 02:20:22 UTC +00:00 

看起来您需要设置时区。 试试这个:

> z = "Pacific Time (US & Canada)" 
 => "Pacific Time (US & Canada)" 
> 0.days.ago.in_time_zone(z)
 => Mon, 02 Jan 2012 18:37:50 PST -08:00 

然后将类似这样的东西添加到 application.rb:

 config.time_zone = "Pacific Time (US & Canada)" 

最新更新