DateTimeZone::getTransitions

timezone_transitions_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::getTransitions -- timezone_transitions_getDevuelve todas las transiciones de una zona horaria

Descripción

Estilo orientado a objetos

public DateTimeZone::getTransitions(int $timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|false

Estilo por procedimientos

timezone_transitions_get(DateTimeZone $object, int $timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|false

Parámetros

object

Solamente para el estilo por procedimientos: Un objeto DateTimeZone devuelto por timezone_open()

timestampBegin

Inicio del timestamp.

timestampEnd

Fin del timestamp.

Valores devueltos

Devuelve un array indexado numéricamente de arrays de transición en caso de éxito, o false en caso de error. Los objetos DateTimeZone que envuelven zonas horarias de tipo 1 (desplazamiento UTC) y tipo 2 (abreviaturas) no contienen transiciones y llamar a este método sobre ellos devolverá false.

Si timestampBegin es proporcionado, la primera entrada en el array devuelto contendrá un elemento de transición al tiempo de timestampBegin.

Estructura de los arrays de transición
Clave Tipo Descripción
ts int timestamp Unix
time string Cadena de tiempo DateTimeInterface::ISO8601_EXPANDED (PHP 8.2 y superior), o DateTimeInterface::ISO8601 (PHP 8.1 e inferior)
offset int Desplazamiento horario hacia UTC en segundos
isdst bool Si la hora de verano está activada
abbr string Abreviatura de la zona horaria

Ejemplos

Ejemplo #1 Ejemplo con timezone_transitions_get()

<?php
$timezone
= new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Array
        (
            [ts]  => -9223372036854775808
             [time] =>  -292277022657-01-27T08:29:52+0000
             [offset] => 3600
            [isdst]  => 1
            [abbr] => BST
         )

    [1] => Array
        (
            [ts]  => -1691964000
            [time] => 1916-05-21T02:00:00+0000
            [offset]  => 3600
            [isdst] => 1
             [abbr] => BST
        )

    [2] => Array
        (
            [ts]  => -1680472800
            [time] => 1916-10-01T02:00:00+0000
            [offset]  => 0
            [isdst] =>
             [abbr] => GMT
        )

)

Ejemplo #2 Un ejemplo de timezone_transitions_get() con timestampBegin definido

<?php
$timezone
= new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions(time());
print_r(array_slice($transitions, 0, 3));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => Array
        (
            [ts] => 1654184161
            [time] => 2022-06-02T15:36:01+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [1] => Array
        (
            [ts] => 1667091600
            [time] => 2022-10-30T01:00:00+0000
            [offset] => 0
            [isdst] =>
            [abbr] => GMT
        )

    [2] => Array
        (
            [ts] => 1679792400
            [time] => 2023-03-26T01:00:00+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

)

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top