The IntlDateFormatter class

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

IntlDateFormatter
/* Constants */
public const int IntlDateFormatter::FULL;
public const int IntlDateFormatter::LONG;
public const int IntlDateFormatter::MEDIUM;
public const int IntlDateFormatter::SHORT;
public const int IntlDateFormatter::NONE;
public const int IntlDateFormatter::RELATIVE_FULL;
public const int IntlDateFormatter::RELATIVE_LONG;
public const int IntlDateFormatter::RELATIVE_MEDIUM;
public const int IntlDateFormatter::RELATIVE_SHORT;
public const int IntlDateFormatter::GREGORIAN;
public const int IntlDateFormatter::TRADITIONAL;
/* Methods */
public __construct(
    stringnull $locale,
    int $dateType = IntlDateFormatter::FULL,
    int $timeType = IntlDateFormatter::FULL,
    IntlTimeZoneDateTimeZonestringnull $timezone = null,
    IntlCalendarintnull $calendar = null,
    stringnull $pattern = null
)
public static IntlDateFormatternull create(
    stringnull $locale,
    int $dateType = IntlDateFormatter::FULL,
    int $timeType = IntlDateFormatter::FULL,
    IntlTimeZoneDateTimeZonestringnull $timezone = null,
    IntlCalendarintnull $calendar = null,
    stringnull $pattern = null
)
public stringfalse format(IntlCalendarDateTimeInterfacearraystringintfloat $datetime)
public static stringfalse formatObject(IntlCalendarDateTimeInterface $datetime, arrayintstringnull $format = null, stringnull $locale = null)
public intfalse getCalendar()
public intfalse getDateType()
public int getErrorCode()
public string getErrorMessage()
public stringfalse getLocale(int $type = ULOC_ACTUAL_LOCALE)
public stringfalse getPattern()
public intfalse getTimeType()
public stringfalse getTimeZoneId()
public IntlCalendarfalsenull getCalendarObject()
public IntlTimeZonefalse getTimeZone()
public bool isLenient()
public arrayfalse localtime(string $string, int &$offset = null)
public intfloatfalse parse(string $string, int &$offset = null)
public bool setCalendar(IntlCalendarintnull $calendar)
public void setLenient(bool $lenient)
public bool setPattern(string $pattern)
public bool setTimeZone(IntlTimeZoneDateTimeZonestringnull $timezone)

Predefined 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 as yesterday, today, and tomorrow, respectively. Available as of PHP 8.0.0, for dateType only.
IntlDateFormatter::RELATIVE_LONG int
The same as 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
The same as 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
The same as 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
Non-Gregorian Calendar
IntlDateFormatter::GREGORIAN int
Gregorian Calendar

Changelog

Version Description
8.4.0 The class constants are now typed.
Table of Contents