函式名:date_create_immutable()
函式功能:建立一個不可變的日期時間物件
適用版本:PHP 5 >= 5.5.0, PHP 7
用法: date_create_immutable ( string $time= "now" [, DateTimeZone $timezone= NULL ] ) : DateTimeImmutable|false
引數:
- $time(可選):表示日期時間的字串。預設為當前日期時間。可以是任意合法的日期時間格式,比如"2022-01-01"或"next Monday"等。
- $timezone(可選):表示日期時間的時區。如果未提供,則使用預設時區。
返回值:
- 成功時返回一個DateTimeImmutable物件,代表給定的日期時間。
- 失敗時返回false。
示例:
// 示例1:建立一個不可變的當前日期時間物件
$datetime = date_create_immutable();
echo $datetime->format('Y-m-d H:i:s'); // 輸出當前日期時間
// 示例2:建立一個不可變的指定日期時間物件
$datetime = date_create_immutable('2022-01-01 12:00:00', new DateTimeZone('America/New_York'));
echo $datetime->format('Y-m-d H:i:s'); // 輸出指定的日期時間
// 示例3:建立一個不可變的相對日期時間物件
$datetime = date_create_immutable('next Monday');
echo $datetime->format('Y-m-d'); // 輸出下一個週一的日期
注意事項:
- 使用date_create_immutable()函式時,日期時間物件將變為不可變。這意味著無法修改該物件的值,所有修改操作都會返回一個新的日期時間物件。
- 如果提供了一個無效的日期時間字串,或者出現其他錯誤,該函式將返回false。因此,在使用返回值之前,應該檢查返回值是否為false以避免出錯。