English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
date_create_immutable()関数は新しいDateTimeImmutableオブジェクトを返します
date_create_immutable()はDateTimeImmutable::__construct()の別名です。この関数は日付を引数として受け取ります。/時間文字列と時区をパラメータとして(オプション)指定し、DateTimeImmutableオブジェクトを作成します。
DateTimeオブジェクトとは異なり、このオブジェクトはどのような変更も許可しません。変更が発生した場合、新しいオブジェクトを作成し返します。デフォルトでは、この関数は現在の日付を生成します。/時間のオブジェクト
date_create_immutable([$date_time, $timezone]);
順序番号 | パラメータ及び説明 |
---|---|
1 | date_time (オプション) そのためには変更不可のDateTimeオブジェクトを作成する必要がある日付です/サポートされているフォーマットを使用した時間文字列。 |
2 | timezone (オプション) これは指定された時間の时区を意味します。 |
PHP date_create_immutable()関数は作成されたDateTimeImmutableオブジェクトを返します。
この関数は最初にPHPバージョン5.5PHP 7.2.0で導入され、すべての上位バージョンで使用できます。
以下の例では、date_create_immutable()関数の使い方-
<?php $date_string = "2019-08-15 9:25:45"; $immutable = date_create_immutable($date_string); print_r($immutable); ?>テストしてみる‹/›
出力結果
DateTimeImmutable Object ( [date] => 2019-08-15 09:25:45.000000 [timezone_type] => 3 [timezone] => UTC )
以下は時区引数を含むdate_create_immutable()の例-
<?php $date_string = "2019-08-15 9:25:45"; $tz = new DateTimeZone('Indian/Mahe'); $immutable = date_create_immutable($date_string, $tz); print_r($immutable); print( date_format($immutable,'Y-m-d H:i:s')); ?>テストしてみる‹/›
出力結果
DateTimeImmutable Object ( [date] => 2019-08-15 09:25:45.000000 [timezone_type] => 3 [timezone] => Indian/Mahe ) 2019-08-15 09:25:45
以下の例では、変更不可能の日付を作成し、通常の日付オブジェクトに間隔を追加し、結果値を表示しました。変更不可能のDateTimeオブジェクトは変更が発生した場合に新しいオブジェクトを作成し返しますので、変更前後の値が観察できます-
<?php print("変更不可能の日付: "."\n"); $date1 = date_create_immutable('1986-09-11'); $date2 = $date1->add(new DateInterval('P15DP12MP9YT24H')); print("元のオブジェクトの値: ".$date1->format('Y-m-d')."\n"); print("変更後: ".$date2->format('Y-m-d')."\n"); print("通常の日付: "."\n"); $date3 = date_create('1986-09-11'); $date4 = $date3->add(new DateInterval('P15DP12MP9YT24H')); print("元のオブジェクトの値: ".$date3->format('Y-m-d')."\n"); print("変更後: ".$date4->format('Y-m-d')."\n"); ?>テストしてみる‹/›
出力結果
変更不可能の日付: 元のオブジェクトの値: 1986-09-11 変更後: 1996-09-27 通常の日付: 元のオブジェクトの値: 1996-09-27 変更後: 1996-09-27