"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como converter hora e data em fusos horários em PHP?

Como converter hora e data em fusos horários em PHP?

Publicado em 2024-11-04
Navegar:905

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

Converter hora e data em fusos horários em PHP

Conversão de fuso horário

Para converter hora e data de uma hora zona para outra em PHP, você pode aproveitar a versátil classe DateTime. Ele permite que você manipule e converta carimbos de data e hora perfeitamente.

Recuperação de deslocamento de horário GMT

Para recuperar o deslocamento de horário do GMT, explore bancos de dados on-line como o Time Zone Database (TZDB) ou o banco de dados de fuso horário da Internet Assigned Numbers Authority (IANA) para obter uma lista abrangente de fusos horários e suas compensações.

Considerações sobre o horário de verão (DST)

Para contabilizar para horário de verão, a classe DateTime se ajusta automaticamente às transições de fuso horário com base em regras específicas de fuso horário.

Implementação na classe PHP

Aqui está um exemplo de como criar um PHP class para conversões de fuso horário:

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');
    }
}

Uso

Para converter um carimbo de data/hora de um fuso horário para outro, crie uma instância da classe TimeConverter e invoque o método convert(). Por exemplo:

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

Isso gerará o horário convertido no fuso horário 'Ásia/Tóquio', ajustado para o horário de verão, se aplicável.

Declaração de lançamento Este artigo foi reimpresso em: 1729644377 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3