(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Date Formatter を作成する
オブジェクト指向型
$locale
,$dateType
,$timeType
,$timezone
= null
,$calendar
= null
,$pattern
= ""オブジェクト指向型 (コンストラクタ)
$locale
,$dateType
,$timeType
,$timezone
= null
,$calendar
= null
,$pattern
= ""手続き型
$locale
,$dateType
,$timeType
,$timezone
= null
,$calendar
= null
,$pattern
= ""Date Formatter を作成します。
locale
フォーマットやパースの際に使用するロケール。null
を指定すると、
ini 設定 intl.default_locale
の値を使います。
dateType
使用する日付の形式 (none
,
short
, medium
,
long
, full
)。
IntlDateFormatter の定数
のいずれかとなります。
timeType
使用する時刻の形式 (none
,
short
, medium
,
long
, full
)。
IntlDateFormatter の定数
のいずれかとなります。
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
フォーマットやパースの際に使用するオプションのパターン。 使えるパターンについては » https://unicode-org.github.io/icu/userguide/format_parse/datetime/ を参照ください。
作成された IntlDateFormatter を返します。失敗した場合は null
を返します。
バージョン | 説明 |
---|---|
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