"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo convertir la hora y la fecha entre zonas horarias en PHP?

¿Cómo convertir la hora y la fecha entre zonas horarias en PHP?

Publicado el 2024-11-04
Navegar:584

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

Convertir hora y fecha entre zonas horarias en PHP

Conversión de zona horaria

Para convertir la hora y la fecha de una sola vez zona a otra en PHP, puede aprovechar la clase versátil DateTime. Le permite manipular y convertir marcas de tiempo sin problemas.

Recuperación de compensación horaria GMT

Para recuperar la compensación horaria de GMT, explore bases de datos en línea como Time Zone Database (TZDB) o la base de datos de zonas horarias de la Autoridad de Números Asignados de Internet (IANA) para obtener una lista completa de zonas horarias y sus compensaciones.

Consideraciones sobre el horario de verano (DST)

A la cuenta para DST, la clase DateTime se ajusta automáticamente a las transiciones de zona horaria según reglas específicas de la zona.

Implementación en la clase PHP

Aquí hay un ejemplo de cómo crear un PHP clase para conversiones de zona horaria:

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 convertir una marca de tiempo de una zona horaria a otra, cree una instancia de la clase TimeConverter e invoque el método convert(). Por ejemplo:

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

Esto generará la hora convertida en la zona horaria 'Asia/Tokio', ajustada al horario de verano, si corresponde.

Declaración de liberación Este artículo se reimprime en: 1729644377 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3