= new DateTime();
$dateWithTimeZone->setTimezone(new DateTimeZone('America/New_York'));
$dateWithTimeZone->setTimestamp(1620068629);
$tsWithTimeZone = $dateWithTimeZone->getTimestamp();
$date = new DateTime();
$date->setTimestamp(1620068629);
$ts = $date->getTimestamp();
У меня метки хранятся в UTC, теперь яхочу добавить к метке еще смещение таймзоны и получить метку с учетом этой таймзоны.
Но выше указанный код выведет в $ts и $tsWithTimeZone одно и тоже значение, где я ошибаюсь и куда мне пойти и посмотреть?
К слову, если я форматирую dateWithTimeZone и выведу как строку, а потом скормлю ее strtotime() то все будет ок, только не уверен, что это верный подход с конвертированием в строку, а потом назад в метку.
Собственно вопрос как добавить таймзону к метке с минимальным кол-вом телодвижений?
timestamp вне зависимость timezone остается одинаковым, а вот если форматировать в строку, например ->format('c'), то сдвиг будет разный. P.S. но значение timestamp всегда одно и тоже.
https://en.m.wikipedia.org/wiki/Unix_time
здрасти вам....от зоны зависит....в москве 1.1.1970 на 3 часа раньше было чем GMT
Timestamp считается от GMT
Обсуждают сегодня