Это пример кода:
$d = new DateTime('@1539691200');
$d->setTimezone(new DateTimeZone('UTC'));
var_dump($d);
Как видите, DateTime
создается из метки времени, поэтому часовой пояс сервера игнорируется.Затем я установил часовой пояс на «UTC», который должен быть везде одинаковым.Но в любом случае вот вывод на моей машине:
object(DateTime)#1 (3) {
["date"]=>
string(26) "2018-10-16 13:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(3) "UTC"
}
И это вывод из здесь :
object(DateTime)#1 (3) {
["date"]=>
string(26) "2018-10-16 12:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(3) "UTC"
}
Так почему это происходит?Как UTC может отличаться на разных серверах?Может ли это быть проблема timezonedb ?