Класс IntlDateFormatter

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

Введение

Это класс позволяющий форматировать/разбирать даты в соответствиями с настройками локали, используя строковые и/или библиотечные шаблоны.

Класс предоставляет функциональность форматирования дат ICU. Он позволяет пользователям отображать даты в формате, принятым в их локали. Или разбирать значения дат используя строковые и/или библиотечные шаблоны.

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

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 GREGORIAN;
public const int TRADITIONAL;
/* Методы */
public __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 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 format(IntlCalendar|DateTimeInterface|array|string|int|float $datetime): string|false
public static formatObject(IntlCalendar|DateTimeInterface $datetime, array|int|string|null $format = null, ?string $locale = null): string|false
public getCalendar(): int|false
public getDateType(): int|false
public getErrorCode(): int
public getErrorMessage(): string
public getLocale(int $type = ULOC_ACTUAL_LOCALE): string|false
public getPattern(): string|false
public getTimeType(): int|false
public getTimeZoneId(): string|false
public getCalendarObject(): IntlCalendar|false|null
public getTimeZone(): IntlTimeZone|false
public isLenient(): bool
public localtime(string $string, int &$offset = null): array|false
public parse(string $string, int &$offset = null): int|float|false
public setCalendar(IntlCalendar|int|null $calendar): bool
public setLenient(bool $lenient): void
public setPattern(string $pattern): bool
public setTimeZone(IntlTimeZone|DateTimeZone|string|null $timezone): ?bool
}

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

Эти константы используются для задания формата в конструкторах DateType и TimeType.

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

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

IntlDateFormatter::TRADITIONAL
Не Григорианский календарь
IntlDateFormatter::GREGORIAN
Григорианский календарь

Содержание