當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP date_create_immutable()用法及代碼示例



定義和用法

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() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。