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

标签 ruby ruby-on-rails-3

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)" 

关于ruby - DateTime.yesterday 返回今天的日期而不是昨天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8707273/

相关文章:

ruby - Ruby 中的类型数组

ruby-on-rails - Rails - validates_each 只允许某些电子邮件?

mysql - MySQL数据库大量记录更新

ruby - python setup.py develop 的 Ruby 等价物是什么?

ruby - 限制要执行的线程数

ruby - 如何将此 Ruby 代码转换为 Redis 命令行?

ruby-on-rails-3 - 如何在同一个 Rails 应用程序中同时使用火箭裤和门卫?

具有指定开始和结束的序列的 Ruby 正则表达式

javascript - 是否存在一个插件,可以在下拉菜单中创建 "Other"选项,并在选择“其他”时创建用于替代输入的文本框?

ruby-on-rails-3 - rails 中的保留字列表 *3*