Блок кода должен говорить сам за себя. Часовой пояс Europe/Berlin
определяется как +02:00
, но ведет себя как +01:00
. Когда я специально использую +02:00
в качестве часового пояса, он работает должным образом. Может ли кто-нибудь объяснить мне, что здесь происходит?
>>> $timezone = new DateTimeZone('Europe/Berlin')
=> DateTimeZone {#2356
timezone: Europe/Berlin (+02:00),
}
>>> $timestamp = DateTime::createFromFormat('Y-m-d\TH:i:s.uO', '2020-02-29T07:30:00.000+0100')
=> DateTime @1582957800 {#2349
date: 2020-02-29 07:30:00.0 +01:00,
}
>>> $timestamp->setTimezone($timezone)
=> DateTime @1582957800 {#2349
date: 2020-02-29 07:30:00.0 Europe/Berlin (+01:00),
}
>>> $timezone = new DateTimeZone('+02:00')
=> DateTimeZone {#2371
timezone: +02:00,
}
>>> $timestamp = DateTime::createFromFormat('Y-m-d\TH:i:s.uO', '2020-02-29T07:30:00.000+0100')
=> DateTime @1582957800 {#2364
date: 2020-02-29 07:30:00.0 +01:00,
}
>>> $timestamp->setTimezone($timezone)
=> DateTime @1582957800 {#2364
date: 2020-02-29 08:30:00.0 +02:00,
}