PHP date_create_immutable() 函式



定義和用法

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 版本

此函式在 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_function_reference.htm
廣告