DateTime.new 将时区参数作为第 7 个参数作为整数偏移量。

DateTime.new(2001,2,3,4,5,6,'-7')

但是,由于我不容易知道给定的时间是在 Daylight 还是 Standard 中,我宁愿执行以下操作:
DateTime.new(2001,2,3,4,5,6,'Eastern Time (US & Canada)')

请指教

最佳答案

如果您使用 Rails,最好的选择是:

cur_zone = Time.zone
begin
  Time.zone = 'Eastern Time (US & Canada)'
  datetime = Time.zone.local(2001, 2, 3, 4, 5, 6)
ensure
  Time.zone = cur_zone
end

或者,如果您在验证使用时或在 Time.zone 配置文件中已经设置了 application.rb,那么您可以单独使用 Time.zone.local 行。

关于ruby-on-rails - DateTime.new 带时区(Rails),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24438773/

10-13 07:01