PHP 8.6.0 Beta 1 is available for testing

Класс IntlDateFormatter

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Введение

Средство форматирования дат — класс, который форматирует или разбирает даты через строковые и (или) библиотечные шаблоны с учётом языковых настроек.

Класс поддерживает функциональность форматирования дат по стандарту ICU и помогает пользователям отображать даты в формате, который учитывает настройки локали, или разбирать строки в значения PHP-дат через строковые и (или) готовые шаблоны.

Синопсис класса

class IntlDateFormatter {
/* Константы */
public const int FULL ;
public const int LONG ;
public const int MEDIUM ;
public const int SHORT ;
public const int NONE ;
public const int RELATIVE_FULL ;
public const int RELATIVE_LONG ;
public const int RELATIVE_MEDIUM ;
public const int RELATIVE_SHORT ;
public const int PATTERN ;
public const int GREGORIAN ;
public const int TRADITIONAL ;
/* Методы */
public function __construct (
? string $locale,
int $dateType = IntlDateFormatter::FULL ,
int $timeType = IntlDateFormatter::FULL ,
IntlTimeZone |DateTimeZone |string |null $timezone = null ,
IntlCalendar |int |null $calendar = null ,
? string $pattern = null
)
public static function create (
? string $locale,
int $dateType = IntlDateFormatter::FULL ,
int $timeType = IntlDateFormatter::FULL ,
IntlTimeZone |DateTimeZone |string |null $timezone = null ,
IntlCalendar |int |null $calendar = null ,
? string $pattern = null
): ? IntlDateFormatter
public function format (IntlCalendar |DateTimeInterface |array |string |int |float $datetime): string |false
public static function formatObject (IntlCalendar |DateTimeInterface $datetime, array |int |string |null $format = null , ? string $locale = null ): string |false
public function getCalendar (): int |false
public function getDateType (): int |false
public function getErrorCode (): int
public function getErrorMessage (): string
public function getLocale (int $type = ULOC_ACTUAL_LOCALE ): string |false
public function getPattern (): string |false
public function getTimeType (): int |false
public function getTimeZoneId (): string |false
public function getCalendarObject (): IntlCalendar |false |null
public function getTimeZone (): IntlTimeZone |false
public function isLenient (): bool
public function localtime (string $string, int &$offset = null ): array |false
public function parse (string $string, int &$offset = null ): int |float |false
public function parseToCalendar (string $string, int &$offset = null ): int |float |false
public function setCalendar (IntlCalendar |int |null $calendar): bool
public function setLenient (bool $lenient): void
public function setPattern (string $pattern): bool
public function setTimeZone (IntlTimeZone |DateTimeZone |string |null $timezone): bool
}

Список изменений

Версия Описание
8.4.0 Добавили константу IntlDateFormatter::PATTERN .

Предопределённые константы

Константы устанавливают формат в конструкторах DateType и TimeType.

IntlDateFormatter::NONE int
Не включать этот элемент
IntlDateFormatter::FULL int
Полный формат (Tuesday, April 12, 1952 AD or 3:30:42pm PST)
IntlDateFormatter::LONG int
Длинный формат (January 12, 1952 or 3:30:32pm)
IntlDateFormatter::MEDIUM int
Средний формат (Jan 12, 1952)
IntlDateFormatter::SHORT int
Наиболее сокращённый формат, только самые необходимые данные (12/13/52 или 3:30pm)
IntlDateFormatter::RELATIVE_FULL int
То же, что и константа IntlDateFormatter::FULL , но «вчера», «сегодня» и «завтра» выводятся как yesterday, today и tomorrow. Константа доступна с PHP 8.0.0 только для параметра dateType.
IntlDateFormatter::RELATIVE_LONG int
То же, что и константа IntlDateFormatter::LONG , но «вчера», «сегодня» и «завтра» выводятся как yesterday, today и tomorrow. Константа доступна с PHP 8.0.0 только для параметра dateType.
IntlDateFormatter::RELATIVE_MEDIUM int
То же, что и константа IntlDateFormatter::MEDIUM , но «вчера», «сегодня» и «завтра» выводятся как yesterday, today и tomorrow. Константа доступна с PHP 8.0.0 только для параметра dateType.
IntlDateFormatter::RELATIVE_SHORT int
То же, что и константа IntlDateFormatter::SHORT , но но «вчера», «сегодня» и «завтра» выводятся как yesterday, today и tomorrow. Константа доступна с PHP 8.0.0 только для параметра dateType.

Следующие константы устанавливают тип календаря. Эти календари прямо завязаны на Григорианский календарь. Не Григорианский календарь устанавливается в локали. Например, locale="hi@calendar=BUDDHIST".

IntlDateFormatter::TRADITIONAL int
Не Григорианский календарь
IntlDateFormatter::GREGORIAN int
Григорианский календарь
IntlDateFormatter::PATTERN int
Использует шаблон, указанный в параметре pattern. Доступно начиная с PHP 8.4.0.

Список изменений

Версия Описание
8.4.0 Константы класса стали типизированными.

Содержание

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 1 note

up
0
pluk77 at gmail dot com
8 days ago
The constructor performs Level 1 and Level 2 canonicalization according to ICU standards. See http://userguide.icu-project.org/locale#TOC-Canonicalization. 
This means all of these (and others) local format work:
'pt', 'pt-PT', 'pt-PT', 'pt_PT.utf8', 'pt_PT.utf8'
https://github.com/php/php-src/issues/11942 
+Добавить

AltStyle によって変換されたページ (->オリジナル) /