(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Date Formatter を作成する
オブジェクト指向型
$locale
, int $datetype
, int $timetype
[, mixed $timezone = NULL
[, mixed $calendar = NULL
[, string $pattern = ""
]]] )オブジェクト指向型 (コンストラクタ)
$locale
, int $datetype
, int $timetype
[, mixed $timezone = NULL
[, mixed $calendar = NULL
[, string $pattern = ""
]]] )手続き型
$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 オブジェクトを
IntlTimeZone オブジェクトや
DateTimeZone オブジェクトを
無効なタイムゾーン ID (空文字列を含む) を
|
例1 datefmt_create() の例
<?php
$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 オブジェクト指向の例
<?php
$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