В нашем мире у нас разные даты и время в каждом часовом поясе. Программисту иногда приходится иметь дело с разными часовыми поясами. Вам нужно написать код, основанный на дате и времени определенных часовых поясов. Итак, давайте посмотрим, как обрабатывать часовые пояса в PHP.
Получить часовой пояс сервера по умолчанию
Вы запускаете свой веб-сайт на сервере, и на каждом сервере установлен часовой пояс по умолчанию. Если вы хотите узнать часовой пояс вашего сервера, поместите приведенную ниже строку кода в свой файл PHP.
if (date_default_timezone_get()) {
echo 'date_default_timezone_set: '. date_default_timezone_get();
}
На этом этапе, если вы распечатаете текущую дату и время с помощью date()
функции PHP, она предоставит вам дату и время вашего часового пояса по умолчанию.
Измените часовой пояс по умолчанию на вашем сервере
Если вам нужно изменить часовой пояс по умолчанию для вашего сервера, вы можете использовать метод date_default_timezone_set()
и передать строку часового пояса этой функции. Вы можете получить список доступных часовых поясов здесь.
В приведенном ниже коде я установил «Тихий океан / Науру» в качестве часового пояса по умолчанию.
date_default_timezone_set('Pacific/Nauru');
Теперь, если я использую эту date()
функцию, я получу дату и время часового пояса «Тихоокеанский регион / Науру».
Как управлять часовыми поясами в PHP на лету
Могут быть сценарии, в которых вы хотите на лету получать дату и время из разных часовых поясов. В таких случаях вы не можете установить или использовать часовой пояс по умолчанию. Чтобы справиться с этими сценариями, вы можете использовать DateTime
класс, предоставленный в PHP.
Например, предположим, что вам нужно получить текущую дату и время часового пояса America / Los_Angeles. Итак, вы можете поместить приведенный ниже код в свой файл PHP.
$datetime = new DateTime;
$otherTZ = new DateTimeZone('America/Los_Angeles');
$datetime->setTimezone($otherTZ);
echo $datetime->format('Y-m-d H:i:s');
Надеюсь, вы понимаете, как обрабатывать часовые пояса в PHP. Если у вас возникнут вопросы или предложения, оставьте комментарий ниже.
Статьи по Теме
- Найдите геолокацию с помощью IP-адреса бесплатно в PHP
- Сжатие изображений для веб-сайтов с помощью reSmush.it на PHP