PHP date_create_immutable() 函数用法及示例
date_create_immutable()函数返回新的DateTimeImmutable对象
定义和用法
date_create_immutable()是DateTimeImmutable::__ construct()的别名。 此函数接受日期/时间字符串和时区作为参数(可选),并创建DateTimeImmutable对象。
与DateTime对象不同,此对象不允许任何修改,它会在发生更改的情况下创建一个新对象并返回它。 默认情况下,此函数创建当前日期/时间的对象
语法date_create_immutable([$date_time, $timezone]);
参数序号参数及说明
1date_time (可选)
这是您需要为其创建不可变的DateTime对象的日期/时间字符串(采用受支持的格式)。
2timezone (可选)
这表示给定时间的时区。
返回值
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("不可变的日期: "."\n");
$date1 = date_create_immutable('1986-09-11');
$date2 = $date1->add(new DateInterval('P15DP12MP9YT24H'));
print("原始对象值: ".$date1->format('Y-m-d')."\n");
print("变更后: ".$date2->format('Y-m-d')."\n");
print("正常日期: "."\n");
$date3 = date_create('1986-09-11');
$date4 = $date3->add(new DateInterval('P15DP12MP9YT24H'));
print("原始对象值: ".$date3->format('Y-m-d')."\n");
print("变更后: ".$date4->format('Y-m-d')."\n");
?>测试看看‹/›
输出结果不可变的日期:
原始对象值: 1986-09-11
变更后: 1996-09-27
正常日期:
原始对象值: 1996-09-27
变更后: 1996-09-27