関数・クラス解説

IntlDateFormatter::create

datefmt_create

IntlDateFormatter::__construct

version:PHP 5 >= 5.3.0, PHP 7, PECL intl (公式)

Date Formatter を作成する

公式リファレンス

書式

public static IntlDateFormatter::create ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = "" ]]] ) : IntlDateFormatter

datefmt_create ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = "" ]]] ) : IntlDateFormatter

説明

オブジェクト指向型

オブジェクト指向型 (コンストラクタ)

public IntlDateFormatter::__construct ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = "" ]]] )

手続き型

Date Formatter を作成します。

パラメータ

locale
フォーマットやパースの際に使用するロケール。NULL を指定すると、 ini 設定 intl.default_locale の値を使います。
datetype
使用する日付の形式 (none, short, medium, long, full)。 IntlDateFormatter の定数 のいずれかとなります。 NULL を指定すると、ICU のデフォルトの日付型を使います。
timetype
使用する時刻の形式 (none, short, medium, long, full)。 IntlDateFormatter の定数 のいずれかとなります。 NULL を指定すると、ICU のデフォルトの時刻型を使います。
timezone
タイムゾーン ID。デフォルト (そして、NULL が渡されたときにも使われるもの) は date_default_timezone_get() が返す ID、あるいは calendar パラメータに IntlCalendar オブジェクトが渡されていればそのタイムゾーンを使います。 この ID は、ICU のデータベースにある妥当な識別子である必要があります。あるいは、 オフセットを明示した GMT-05:30 のような形式になります。 IntlTimeZone オブジェクトあるいは DateTimeZone オブジェクトも指定できます。
calendar
フォーマットやパースの際に使用するカレンダー。デフォルトは NULL で、 これは IntlDateFormatter::GREGORIAN を表します。 IntlDateFormatter のカレンダー定数 あるいは IntlCalendar を指定します。 渡された IntlCalendar は、クローンされます。 IntlDateFormatter によって元のオブジェクトが書き換えられることはありません。 これは、利用するカレンダーの型 (グレゴリオ暦、イスラム暦、ペルシア暦など) の判定に使います。 また、timezone パラメータに NULL を指定した場合にはタイムゾーンの判定にも使います。
pattern
フォーマットやパースの際に使用するオプションのパターン。 使えるパターンについては » http://userguide.icu-project.org/formatparse/datetime を参照ください。

返値

作成された IntlDateFormatter を返します。失敗した場合は FALSE を返します。

更新履歴

バージョン 説明
5.5.0/PECL 3.0.0 IntlCalendar オブジェクトを calendar に渡せるようになりました。 IntlTimeZone オブジェクトや DateTimeZone オブジェクトを timezone に渡せるようになりました。 無効なタイムゾーン ID (空文字列を含む) を timezone で指定できなくなりました。 timezone に NULL を指定した場合は、ICU のデフォルトではなく date_default_timezone_get() が返すタイムゾーンを使うようになりました。

サンプル

例1 datefmt_create() の例

$fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,     'America/Los_Angeles', IntlDateFormatter::GREGORIAN  ); echo "First Formatted output is ".datefmt_format( $fmt , 0); $fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ); echo "Second Formatted output is ".datefmt_format( $fmt , 0); $fmt = datefmt_create( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,      'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy"); echo "First Formatted output with pattern is ".datefmt_format( $fmt , 0); $fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,      'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy"); echo "Second Formatted output with pattern is ".datefmt_format( $fmt , 0);

例2 オブジェクト指向の例

$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,     'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ); echo "First Formatted output is ".$fmt->format(0); $fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,      'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ); echo "Second Formatted output is ".$fmt->format(0); $fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,       'America/Los_Angeles',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy"); echo "First Formatted output with pattern is ".$fmt->format(0); $fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,       'America/Los_Angeles',IntlDateFormatter::GREGORIAN , "MM/dd/yyyy"); echo "Second Formatted output with pattern is ".$fmt->format(0);

上の例の出力は以下となります。

First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00 First Formatted output with pattern is 12/31/1969 Second Formatted output with pattern is 12/31/1969

参考

  • datefmt_format() - 日付/時刻 の値を文字列としてフォーマットする
  • datefmt_parse() - 文字列をパースしてタイムスタンプにする
  • datefmt_get_error_code() - 直近の操作のエラーコードを取得する
  • datefmt_get_error_message() - 直近の操作のエラーテキストを取得する
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール