IntlDateFormatter クラス

はじめに

Date Formatter は、パターン文字列や出来合いのパターンを使用して ロケールに依存する日付のフォーマット/パースを行う具象クラスです。

このクラスは ICU の日付フォーマット機能を表します。 これを使用すると、パターン文字列や出来合いのパターンを使用して 日付を各地域のフォーマットで表示したり、 文字列をパースして PHP の日付として扱ったりすることができます。

クラス概要

IntlDateFormatter
/* 定数 */
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;
/* メソッド */
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)

定義済み定数

これらの定数は、DateType や TimeType のコンストラクタでさまざまなフォーマットを指定するために使用します。

IntlDateFormatter::NONE
この要素を含まない
IntlDateFormatter::FULL
完全に指定した形式 (Tuesday, April 12, 1952 AD あるいは 3:30:42pm PST)
IntlDateFormatter::LONG
長い形式 (January 12, 1952 あるいは 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
グレゴリオ暦

目次