Intereting Posts
Как отображать два столбца таблицы в строке в php-контуре Домашняя страница Codeigniter работает нормально, но показывается 404 для других страниц PHP if ($ some_var == 1) всегда возвращает true, даже если это не так? Symfony 2.4 Рендеринг контроллера в TWIG бросает «Рендеринг фрагмента может быть выполнен только при обработке запроса». Исключение вызывать множественный url последовательно с php curl Как выбрать библиотеку аутентификации для CodeIgniter? как отправить HTML-письмо с встроенным прикрепленным изображением с помощью PHP Дизайн дизайна LARARE RESTful API Отсутствие таблицы базы данных в CakePHP, я следил за соглашениями и пробовал все временная отметка unix до полуночи Как подсчитать количество просмотров youtube видео с помощью API YouTube Analytics v3? Класс вызова PHP в классе возвращает ошибку: 500 Класс DomDocument не может получить доступ к domnode Когда я перехожу к Localhost и попробую имя пользователя и пароль, который он сообщает мне об ошибке? как реализовать простой Android OAuth и API сервера

Как получить временную метку Unix в php на основе часового пояса

Сначала код

echo time() . '<br/>'; echo date('Ymd H:i:s') . '<br/>'; date_default_timezone_set('America/New_York'); echo time() . '<br/>'; print_r($timezones[$timezone] . '<br/>'); echo date('Ymd H:i:s') . '<br/>'; 

В приведенном выше коде дата печатается в соответствии с часовым поясом, но временная отметка unix одинакова даже после установки часового пояса по умолчанию

Как мы можем напечатать временную метку unix в соответствии с часовым поясом?

Ответ, предоставленный Фолькерком, верен, но если вам действительно нужна работа, взгляните на мой пример.

 <?php //default timezone $date = new DateTime(null); echo 'Default timezone: '.$date->getTimestamp().'<br />'."\r\n"; //America/New_York $date = new DateTime(null, new DateTimeZone('America/New_York')); echo 'America/New_York: '.$date->getTimestamp().'<br />'."\r\n"; //Europe/Amsterdam $date = new DateTime(null, new DateTimeZone('Europe/Amsterdam')); echo 'Europe/Amsterdam: '.$date->getTimestamp().'<br />'."\r\n"; echo 'WORK AROUND<br />'."\r\n"; // WORK AROUND //default timezone $date = new DateTime(null); echo 'Default timezone: '.($date->getTimestamp() + $date->getOffset()).'<br />'."\r\n"; //America/New_York $date = new DateTime(null, new DateTimeZone('America/New_York')); echo 'America/New_York: '.($date->getTimestamp() + $date->getOffset()).'<br />'."\r\n"; //Europe/Amsterdam $date = new DateTime(null, new DateTimeZone('Europe/Amsterdam')); echo 'Europe/Amsterdam: '.($date->getTimestamp() + $date->getOffset()).'<br />'."\r\n"; ?> 

Получите регулярную метку времени и добавьте смещение UTC

https://en.wikipedia.org/wiki/Unix_time

Время Unix или время POSIX – это система для описания моментов времени, определяемая как количество секунд, прошедших с полуночи. Скоординированное всеобщее время (UTC) в четверг, 1 января 1970 г.

Временная метка unix не зависит от настройки часового пояса. Установка часового пояса влияет только на интерпретацию значения метки времени.