(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Date Formatter is a concrete class that enables locale-dependent formatting/parsing of dates using pattern strings and/or canned patterns.
This class represents the ICU date formatting functionality. It allows users to display dates in a localized format or to parse strings into PHP date values using pattern strings and/or canned patterns.
$locale,$dateType = IntlDateFormatter::FULL,$timeType = IntlDateFormatter::FULL,$timezone = null,$calendar = null,$pattern = nullpublic 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}
These constants are used to specify different formats in the constructor for DateType and TimeType.
IntlDateFormatter::NONE int IntlDateFormatter::FULL int IntlDateFormatter::LONG int IntlDateFormatter::MEDIUM int IntlDateFormatter::SHORT int IntlDateFormatter::RELATIVE_FULL int IntlDateFormatter::FULL, but yesterday, today, and tomorrow show as yesterday, today, and tomorrow, respectively. Available as of PHP 8.0.0, for dateType only. IntlDateFormatter::RELATIVE_LONG int IntlDateFormatter::LONG, but yesterday, today, and tomorrow show as yesterday, today, and tomorrow, respectively. Available as of PHP 8.0.0, for dateType only. IntlDateFormatter::RELATIVE_MEDIUM int IntlDateFormatter::MEDIUM, but yesterday, today, and tomorrow show as yesterday, today, and tomorrow, respectively. Available as of PHP 8.0.0, for dateType only. IntlDateFormatter::RELATIVE_SHORT int IntlDateFormatter::SHORT, but yesterday, today, and tomorrow show as yesterday, today, and tomorrow, respectively. Available as of PHP 8.0.0, for dateType only. The following int constants are used to specify the calendar. These calendars are all based directly on the Gregorian calendar. Non-Gregorian calendars need to be specified in locale. Examples might include locale="hi@calendar=BUDDHIST".
IntlDateFormatter::TRADITIONAL int IntlDateFormatter::GREGORIAN int | Version | Description |
|---|---|
| 8.4.0 | The class constants are now typed. |
© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/class.intldateformatter.php