(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)
IntlDateFormatter::getCalendarObject -- datefmt_get_calendar_object β ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠΈΠ»Ρ
ΠΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ
ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°Π»Π΅Π½Π΄Π°ΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΡΠ΅Π³ΠΎΡΠΈΠ°Π½ΡΠΊΠΈΠΉ, ΡΠΏΠΎΠ½ΡΠΊΠΈΠΉ, Π±ΡΠ΄Π΄ΠΈΠΉΡΠΊΠΈΠΉ, ΡΠΎΠΊ, ΠΏΠ΅ΡΡΠΈΠ΄ΡΠΊΠΈΠΉ, ΠΈΡΠ»Π°ΠΌΡΠΊΠΈΠΉ ΠΈ Ρ.Π΄.) ΠΈ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠΈΠΏΡ ΠΈ ΡΠ°ΡΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅ ΡΠΊΠ°Π·Π°Π½Ρ.
Π‘ΠΈΠ³Π½Π°ΡΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΎΠΏΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ null,
Π΅ΡΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΈΠ»ΠΈ false, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ IntlDateFormatter::getCalendarObject()
<?php
$formatter = IntlDateFormatter::create(
"fr_FR@calendar=islamic",
NULL,
NULL,
"GMT-01:00",
IntlDateFormatter::TRADITIONAL
);
$cal = $formatter->getCalendarObject();
var_dump(
$cal->getType(),
$cal->getTimeZone(),
$cal->getLocale(Locale::VALID_LOCALE)
);Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
string(7) "islamic"
object(IntlTimeZone)#3 (4) {
["valid"]=>
bool(true)
["id"]=>
string(9) "GMT-01:00"
["rawOffset"]=>
int(-3600000)
["currentOffset"]=>
int(-3600000)
}
string(5) "fr_FR"