在我们的 rails 应用程序中,时区在我们的环境文件中设置为 UTC。在我们的生产或登台服务器上运行时,这不会导致任何问题。但是,我们的本地开发机器都没有在系统时钟中设置为 UTC,这在比较日期时会导致一些测试失败。这是因为当我们调用时 Rails 使用的是 UTC DateTime.now
,而我们的 MySQL 数据库使用的是系统时间(在我的例子中是 CST)。
有没有办法确保在某些情况下DateTime.now
不使用 UTC 时区?我想我要的是一种纯 SQL 更新日期字段的方法,它绕过了 Rails 引擎。