DateTimeZone::getTransitions
timezone_transitions_get
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::getTransitions -- timezone_transitions_get — Retorna todas as transições para o fuso horário
Descrição
Estilo orientado a objetos
$timestampBegin
= PHP_INT_MIN
, int $timestampEnd
= PHP_INT_MAX
): array|falseEstilo procedural
$object
, int $timestampBegin
= PHP_INT_MIN
, int $timestampEnd
= PHP_INT_MAX
): array|falseParâmetros
-
object
Somente no estilo procedural: Um objeto DateTimeZone retornado por timezone_open()
timestampBegin
-
Timestamp inicial.
timestampEnd
-
Timestamp final.
Valor Retornado
Retorna um array numericamente indexado de
arrays de transições em caso de sucesso, ou false
em caso de falha. Objetos
DataTimeZone do tipo 1 (deslocamento UTC) e tipo 2 (abreviações) não
contêm transições, e se tiverem este método chamado irão retornar
false
.
Se o parâmetro timestampBegin
for informado, a primeira entrada no
array de retorno irá contrer um elemento de transição no horário de
timestampBegin
.
Key | Type | Description |
---|---|---|
ts |
int | Timestamp Unix |
time |
string | string de horário DateTimeInterface::ISO8601_EXPANDED (PHP
8.2 e seguintes), ou DateTimeInterface::ISO8601 (PHP
8.1 e anteriores) |
offset |
int | Deslocamento UTC em segundos |
isdst |
bool | Se o horário de verão está ativo |
abbr |
string | Abreviação do fuso horário |
Exemplos
Example #1 Exemplo do método timezone_transitions_get()
<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>
O exemplo acima produzirá algo semelhante 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 ) )
Example #2 Um exemplo da função timezone_transitions_get() com
o parâmetro timestampBegin
<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions(time());
print_r(array_slice($transitions, 0, 3));
?>
O exemplo acima produzirá algo semelhante 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 ) )