如何将"DateTime"转换为柏林的相应日期和时间?

Sim*_*obi 2 ruby timezone ruby-on-rails dst

给定(UTC)DateTime对象,我如何在CET或CEST中获得相应的时间,具体取决于日期?

所需"转换"功能的示例:

convert(DateTime.new(2018, 07))
=> Sun, 01 Jul 2018 02:00:00 +0200
convert(DateTime.new(2018, 12))
=> Sat, 01 Dec 2018 01:00:00 +0100
Run Code Online (Sandbox Code Playgroud)

aku*_*uhn 5

试试这个

require 'tzinfo'

timezone = TZInfo::Timezone.get('Europe/Berlin')
local_time = timezone.utc_to_local(utc_time)
Run Code Online (Sandbox Code Playgroud)

即使没有Rails也可以.