English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 基础教程

PHP 高级教程

PHP & MySQL

PHP 参考手册

PHP date_create_immutable() 函数用法及示例

PHP Date & Time 函数手册

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

此函数最初是在PHP版本5.5.0中引入的,并且可以在所有更高版本中使用。

Esempio online

以下示例演示了date_create_immutable()函数的用法-

<?php
   $date_string = "2019-08-15 9:25:45";
   $immutable = date_create_immutable($date_string);   
   print_r($immutable);
?>
Testa a vedere‹/›

Risultato di output

Oggetto DateTimeImmutable
(
    [date] => 2019-08-15 09:25:45.000000
    [timezone_type] => 3
    [timezone] => UTC
)

Esempio online

以下是带有时区参数的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')); 
?>
Testa a vedere‹/›

Risultato di output

Oggetto DateTimeImmutable
(
    [date] => 2019-08-15 09:25:45.000000
    [timezone_type] => 3
    [timezone] => Indian/Mahe
)
2019-08-15 09:25:45

Esempio online

Nell'esempio seguente, creiamo una data immutabile e aggiungiamo un intervallo alla data normale, visualizzando poi i valori di risultato. Poiché l'oggetto DateTime immutabile crea e restituisce un nuovo oggetto in caso di modifica, è possibile notare che cambia sia prima che dopo la modifica-

<?php
   print("Data immutabile: "."\n");
   $date1 = date_create_immutable('1986-09-11');
   $date2 = $date1->add(new DateInterval('P15DP12MP9YT24H'));
   print("Valore originale: ".$date1->format('Y-m-d')."\n");
   print("Modificato: ".$date2->format('Y-m-d')."\n");
   print("Data normale: "."\n");
   $date3 = date_create('1986-09-11');
   $date4 = $date3->add(new DateInterval('P15DP12MP9YT24H'));
   print("Valore originale: ".$date3->format('Y-m-d')."\n");
   print("Modificato: ".$date4->format('Y-m-d')."\n");
?>
Testa a vedere‹/›

Risultato di output

Data immutabile: 
Valore originale: 1986-09-11
Modificato: 1996-09-27
Data normale: 
Valore originale: 1996-09-27
Modificato: 1996-09-27