Ruby on rails 在Rails中将EST转换为UTC?

Ruby on rails 在Rails中将EST转换为UTC?,ruby-on-rails,Ruby On Rails,我有一个工具,其中所有内容都保存为UTC,GUI端只反映东部时间的EST(特别是东部时间的EST),该时间静态为UTC-5.2小时,不遵循夏令时 因此,如果用户“选择”一个时间,他们选择的是EST时间,我试图找出进行EST到UTC转换的最佳方式。看起来“in_time_zone”只有一个东区,我会立即假设“Easter time(美国和加拿大)”实际上是EDT(不是EST): 最好的做法是在用户选择的EST时间中添加5小时(+5.5小时)以存储为UTC吗 谢谢 config/applicatio

我有一个工具,其中所有内容都保存为UTC,GUI端只反映东部时间的EST(特别是东部时间的EST),该时间静态为UTC-5.2小时,不遵循夏令时

因此,如果用户“选择”一个时间,他们选择的是EST时间,我试图找出进行EST到UTC转换的最佳方式。看起来“in_time_zone”只有一个东区,我会立即假设“Easter time(美国和加拿大)”实际上是EDT(不是EST):

最好的做法是在用户选择的EST时间中添加5小时(+5.5小时)以存储为UTC吗

谢谢


config/application.rb中的Rails 2.3.5

config.time_zone = 'Eastern Time (US & Canada)'
存储时,请使用以下命令:

in_time = (params[:in] + ' Eastern Time (US & Canada)'
          ).to_datetime.in_time_zone('Eastern Time (US & Canada)').to_s
if in_time.match('-0400')
  clock.in = (params[:in] + ' -4:00').to_datetime.in_time_zone('UTC') if params[:in] != ''
elsif in_time.match('-0500')
  clock.in = (params[:in] + ' -5:00').to_datetime.in_time_zone('UTC') if params[:in] != ''
else
  <HANDLE ERROR> "ERROR: CANNOT FIGURE OUT TIMEZONE IN #{params[:in]}."
end
in_time=(参数[:in]+'东部时间(美国和加拿大)'
).to_datetime.在时区(“东部时间(美国和加拿大)”)。to_
如果在_time.match('-0400')中
clock.in=(params[:in]+'-4:00')。如果params[:in]!='',则指向日期时间。在时区('UTC')
elsif in_time.match('-0500'))
clock.in=(params[:in]+'-5:00')。如果params[:in]!='',则指向日期时间。在时区('UTC')
其他的
“错误:无法在#{params[:IN]}中计算时区。”
结束

有帮助吗?如果你找到了更好的解决方案,请在这里分享。你能接受答案吗?
in_time = (params[:in] + ' Eastern Time (US & Canada)'
          ).to_datetime.in_time_zone('Eastern Time (US & Canada)').to_s
if in_time.match('-0400')
  clock.in = (params[:in] + ' -4:00').to_datetime.in_time_zone('UTC') if params[:in] != ''
elsif in_time.match('-0500')
  clock.in = (params[:in] + ' -5:00').to_datetime.in_time_zone('UTC') if params[:in] != ''
else
  <HANDLE ERROR> "ERROR: CANNOT FIGURE OUT TIMEZONE IN #{params[:in]}."
end