(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeZone::getTransitions -- timezone_transitions_get β ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ ΡΠ°ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠΈΠ»Ρ
$timestampBegin = PHP_INT_MIN, int $timestampEnd = 2147483647): array|falseΠΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ
$object, int $timestampBegin = PHP_INT_MIN, int $timestampEnd = 2147483647): array|false
objecttimestampBeginΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ΅ΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
timestampEndΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΠΌΠ΅ΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ± ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ
,
ΡΠ΅Π·ΠΎΠ½Π½Π½ΡΡ
ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΎ-Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π°Ρ
Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² Ρ
ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΈΠ»ΠΈ false, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΠ±ΡΠ΅ΠΊΡΡ DateTimeZone, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ 1-Π³ΠΎ ΡΠΈΠΏΠ° ΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ UTC
ΠΈ 2-Π³ΠΎ ΡΠΈΠΏΠ° Ρ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠΎΠΉ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ°ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΎΠ² ΠΈ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° ΡΠ°ΠΊΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ
Π²Π΅ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false.
ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° timestampBegin ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ
ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ°ΡΡΠΈΠ² Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ timestampBegin ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π΅.
| ΠΠ»ΡΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
ts |
int | ΠΠ΅ΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Unix |
time |
string |
Π‘ΡΡΠΎΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ DateTimeInterface::ISO8601_EXPANDED Π΄Π»Ρ PHP 8.2 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ
Π²ΡΠΏΡΡΠΊΠΎΠ²
ΠΈΠ»ΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ DateTimeInterface::ISO8601 Π΄Π»Ρ PHP 8.1 ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
Π²ΡΠΏΡΡΠΊΠΎΠ²
|
offset |
int | Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ UTC Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ |
isdst |
bool | ΠΠΊΡΠΈΠ²Π½ΠΎ Π»ΠΈ Π»Π΅ΡΠ½Π΅Π΅ Π²ΡΠ΅ΠΌΡ |
abbr |
string | ΠΠ±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΡΠ°ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° |
| ΠΠ΅ΡΡΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
| 8.1.0 |
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° timestampEnd ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° 2147483647. Π Π°Π½Π΅Π΅ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ PHP_INT_MAX.
|
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ timezone_transitions_get()
<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π°:
Array
(
[0] => Array
(
[ts] => -2147483648
[time] => 1901-12-13T20:45:52+00:00
[offset] => -75
[isdst] =>
[abbr] => LMT
)
[1] => Array
(
[ts] => 442304971
[time] => 1847-12-01T00:01:15+00:00
[offset] => 0
[isdst] =>
[abbr] => GMT
)
[2] => Array
(
[ts] => -1691964000
[time] => 1916-05-21T02:00:00+00:00
[offset] => 3600
[isdst] => 1
[abbr] => BST
)
)
ΠΡΠΈΠΌΠ΅Ρ #2 ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ timezone_transitions_get() Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ timestampBegin
<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions(time());
print_r(array_slice($transitions, 0, 3));ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π°:
Array
(
[0] => Array
(
[ts] => 1759058251
[time] => 2025-09-28T11:17:31+00:00
[offset] => 3600
[isdst] => 1
[abbr] => BST
)
[1] => Array
(
[ts] => 1761440400
[time] => 2025-10-26T01:00:00+00:00
[offset] => 0
[isdst] =>
[abbr] => GMT
)
[2] => Array
(
[ts] => 1774746000
[time] => 2026-03-29T01:00:00+00:00
[offset] => 3600
[isdst] => 1
[abbr] => BST
)
)