导轨:默认打印UTC时间



我有一个非activerecord服务器,该服务器将数据发送到另一个服务。该服务器期望在格式中接收包括UTC在内的说明:"%Y-%m-%d %H:%M:%S.%L"。我已经有一个time_format.rb initializer覆盖 Time::DATE_FORMATS[:default]是否有一种方法可以配置服务器,以便默认情况下 Time.now.to_s将默认打印UTC时间,而无需每次调用它时指定Time.now.utc?我正在使用Ruby 2.0.0和Rails 4。

我尝试将config.time_zone = 'London'添加到config/application.rb,但这不起作用。

我认为ActivereCord不应该与它有关,但也许我误会了。就像Sergio所说的那样,将您的申请设置为timeZone将其设置为UTC。

这是我的Rails应用程序。我的电脑在PST中。我的Rails应用程序设置为UTC。

 > Time.now
 => 2014-01-22 21:52:38 -0800
 > Time.zone.name
 => "UTC"
 > Time.zone.now
 => Thu, 23 Jan 2014 05:52:43 UTC +00:00
 > Time.now.utc
 => 2014-01-23 05:52:45 UTC

我强烈建议不要超越时间。那只能导致黑暗的一面。

适用于任何Ruby应用程序的通用解决方案:

module TimeClassExtensions
  def now
    super.utc
  end
end
Time.singleton_class.prepend(TimeClassExtensions)

相关内容

  • 没有找到相关文章

最新更新