定義和用法
date_create_immutable() 是 DateTimeImmutable::__construct() 的別名。此函數接受日期/時間字符串和時區作為參數(可選)並創建一個 DateTimeImmutable 對象。
與 DateTime 對象不同,此對象不允許任何修改,它會在發生更改時創建一個新對象並返回它。默認情況下,此函數創建當前日期/時間的對象
用法
date_create_immutable([$date_time, $timezone]);
參數
Sr.No | 參數及說明 |
---|---|
1 |
date_time (Optional) 這是您需要為其創建不可變 DateTime 對象的日期/時間字符串(以支持的格式)。 |
2 |
timezone (Optional) 這表示給定時間的時區。 |
返回值
PHP date_create_immutable() 函數返回創建的 DateTimeImmutable 對象。
PHP版本
該函數最初是在 PHP 5.5.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("Immutable Date:"."\n");
$date1 = date_create_immutable('1986-09-11');
$date2 = $date1->add(new DateInterval('P15DP12MP9YT24H'));
print("Original Object Value:".$date1->format('Y-m-d')."\n");
print("After Change:".$date2->format('Y-m-d')."\n");
print("Normal Date:"."\n");
$date3 = date_create('1986-09-11');
$date4 = $date3->add(new DateInterval('P15DP12MP9YT24H'));
print("Original Object Value:".$date3->format('Y-m-d')."\n");
print("After Change:".$date4->format('Y-m-d')."\n");
?>
這將產生以下結果 -
Immutable Date: Original Object Value:1986-09-11 After Change:1996-09-27 Normal Date: Original Object Value:1996-09-27 After Change:1996-09-27
相關用法
- PHP date_create_immutable_from_format()用法及代碼示例
- PHP date_create_from_format()用法及代碼示例
- PHP date_create()用法及代碼示例
- PHP date_create(), date_format(), date_add()用法及代碼示例
- PHP date_default_timezone_set()用法及代碼示例
- PHP date_get_last_errors()用法及代碼示例
- PHP date_parse()用法及代碼示例
- PHP date_offset_get()用法及代碼示例
- PHP date_diff()用法及代碼示例
- PHP date_default_timezone_get()用法及代碼示例
- PHP date_isodate_set()用法及代碼示例
- PHP date_timestamp_set()用法及代碼示例
- PHP date_time_set()用法及代碼示例
- PHP date_add()用法及代碼示例
- PHP date_timestamp_get()用法及代碼示例
- PHP date_format()用法及代碼示例
- PHP date_timezone_set()用法及代碼示例
- PHP date_interval_format()用法及代碼示例
- PHP date_sub()用法及代碼示例
- PHP date_timezone_get()用法及代碼示例
注:本文由純淨天空篩選整理自 PHP date_create_immutable() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。