«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как конвертировать время и дату по часовым поясам в PHP?

Как конвертировать время и дату по часовым поясам в PHP?

Опубликовано 4 ноября 2024 г.
Просматривать:582

How to Convert Time and Date Across Time Zones in PHP?

Преобразование времени и даты между часовыми поясами в PHP

Преобразование часового пояса

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

Получение смещения времени по Гринвичу

Чтобы получить смещение времени по Гринвичу, изучите онлайн-базы данных, такие как База данных часовых поясов (TZDB). или в базе данных часовых поясов Управления по присвоению номеров Интернета (IANA), чтобы получить полный список часовых поясов и их смещения.

Соображения по переходу на летнее время (DST)

Для учета летнего времени класс DateTime автоматически корректирует переходы часовых поясов на основе правил, специфичных для зоны.

Реализация в классе PHP

Вот пример того, как создать Класс PHP для преобразования часовых поясов:

class TimeConverter {
    private $from_timezone;
    private $to_timezone;
    private $datetime;

    public function __construct($timestamp, $from_timezone, $to_timezone) {
        $this->datetime = new DateTime($timestamp);
        $this->from_timezone = new DateTimeZone($from_timezone);
        $this->to_timezone = new DateTimeZone($to_timezone);
    }

    public function convert() {
        $this->datetime->setTimezone($this->to_timezone);
        return $this->datetime->format('Y-m-d H:i:sP');
    }
}

Использование

Чтобы преобразовать временную метку из одного часового пояса в другой, создайте экземпляр класса TimeConverter и вызовите метод Convert(). Например:

$converter = new TimeConverter('2023-03-08 14:30:00', 'America/Los_Angeles', 'Asia/Tokyo');
$converted_time = $converter->convert();
echo $converted_time;

Это выведет преобразованное время в часовом поясе «Азия/Токио», скорректированное на летнее время, если применимо.

Заявление о выпуске Эта статья перепечатана по адресу: 1729644377. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3