PHP date_create_immutable() 函数

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程