Я работаю над системой, которая должна иметь дело с записями в базе данных, которые включают ряд очень старых периодов, и в итоге у меня возникла проблема, связанная с часовыми поясами.
Из того, что я искал, есть только часовые пояса со значениями 00, 30 или 45 в минутах (https://www.timeanddate.com/time/time-zones-interesting.html). Однако, когда мы собираемся анализировать очень старые даты, кажется, что часовой пояс каким-то образом смещен, возможно, в попытке исправить время.
Код:
<?php
$timezones = timezone_identifiers_list();
foreach ($timezones as $k => $tz) {
date_default_timezone_set($tz);
echo $tz . ' - ' . \DateTime::createFromFormat('Y-m-d H:i:s', '1900-01-01 00:00:00')->format(DATE_ATOM) . PHP_EOL;
}
Некоторые примеры того, что возвращается:
- Африка/Аддис-Абеба – 1900-01-01T00:00:00+02:27
- Америка/Аргентина/Сан_Луис – 1900-01-01T00:00:00-04:16
- Америка/Баия_Бандерас - 1900-01-01T00:00:00-07:01
- Америка/Сан-Паулу – 1900-01-01T00:00:00-03:06
- Азия/Куала-Лумпур – 1900-01-01T00:00:00+06:46
- Европа/Афины – 1900-01-01T00:00:00+01:34
- Европа/Дублин – 1900-01-01T00:00:00-00:25
Кто-нибудь может сказать нам, что происходит??
Спасибо!