The IntlDateFormatter class
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Introduction
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.
Class synopsis
?string
$locale
,int
$dateType
= IntlDateFormatter::FULL,int
$timeType
= IntlDateFormatter::FULL,IntlTimeZone|DateTimeZone|string|null
$timezone
= null
,IntlCalendar|int|null
$calendar
= null
,?string
$pattern
= null
)
?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
$datetime
, array|int|string|null $format
= null
, ?string $locale
= null
): string|falsePredefined Constants
These constants are used to specify different formats in the constructor for DateType and TimeType.
-
IntlDateFormatter::NONE
(int) - Do not include this element
-
IntlDateFormatter::FULL
(int) - Completely specified style (Tuesday, April 12, 1952 AD or 3:30:42pm PST)
-
IntlDateFormatter::LONG
(int) - Long style (January 12, 1952 or 3:30:32pm)
-
IntlDateFormatter::MEDIUM
(int) - Medium style (Jan 12, 1952)
-
IntlDateFormatter::SHORT
(int) - Most abbreviated style, only essential data (12/13/52 or 3:30pm)
-
IntlDateFormatter::RELATIVE_FULL
(int) -
The same as
IntlDateFormatter::FULL
, but yesterday, today, and tomorrow show asyesterday
,today
, andtomorrow
, respectively. Available as of PHP 8.0.0, fordateType
only. -
IntlDateFormatter::RELATIVE_LONG
(int) -
The same as
IntlDateFormatter::LONG
, but yesterday, today, and tomorrow show asyesterday
,today
, andtomorrow
, respectively. Available as of PHP 8.0.0, fordateType
only. -
IntlDateFormatter::RELATIVE_MEDIUM
(int) -
The same as
IntlDateFormatter::MEDIUM
, but yesterday, today, and tomorrow show asyesterday
,today
, andtomorrow
, respectively. Available as of PHP 8.0.0, fordateType
only. -
IntlDateFormatter::RELATIVE_SHORT
(int) -
The same as
IntlDateFormatter::SHORT
, but yesterday, today, and tomorrow show asyesterday
,today
, andtomorrow
, respectively. Available as of PHP 8.0.0, fordateType
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) - Non-Gregorian Calendar
-
IntlDateFormatter::GREGORIAN
(int) - Gregorian Calendar
Table of Contents
- IntlDateFormatter::create — Create a date formatter
- IntlDateFormatter::format — Format the date/time value as a string
- IntlDateFormatter::formatObject — Formats an object
- IntlDateFormatter::getCalendar — Get the calendar type used for the IntlDateFormatter
- IntlDateFormatter::getDateType — Get the datetype used for the IntlDateFormatter
- IntlDateFormatter::getErrorCode — Get the error code from last operation
- IntlDateFormatter::getErrorMessage — Get the error text from the last operation
- IntlDateFormatter::getLocale — Get the locale used by formatter
- IntlDateFormatter::getPattern — Get the pattern used for the IntlDateFormatter
- IntlDateFormatter::getTimeType — Get the timetype used for the IntlDateFormatter
- IntlDateFormatter::getTimeZoneId — Get the timezone-id used for the IntlDateFormatter
- IntlDateFormatter::getCalendarObject — Get copy of formatterʼs calendar object
- IntlDateFormatter::getTimeZone — Get formatterʼs timezone
- IntlDateFormatter::isLenient — Get the lenient used for the IntlDateFormatter
- IntlDateFormatter::localtime — Parse string to a field-based time value
- IntlDateFormatter::parse — Parse string to a timestamp value
- IntlDateFormatter::setCalendar — Sets the calendar type used by the formatter
- IntlDateFormatter::setLenient — Set the leniency of the parser
- IntlDateFormatter::setPattern — Set the pattern used for the IntlDateFormatter
- IntlDateFormatter::setTimeZone — Sets formatterʼs timezone