定义和用法
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_from_format()用法及代码示例
- PHP date_create_from_format()用法及代码示例
- PHP date_create()用法及代码示例
- PHP date_create(), date_format(), date_add()用法及代码示例
- PHP date_default_timezone_set()用法及代码示例
- PHP date_get_last_errors()用法及代码示例
- PHP date_parse()用法及代码示例
- PHP date_offset_get()用法及代码示例
- PHP date_diff()用法及代码示例
- PHP date_default_timezone_get()用法及代码示例
- PHP date_isodate_set()用法及代码示例
- PHP date_timestamp_set()用法及代码示例
- PHP date_time_set()用法及代码示例
- PHP date_add()用法及代码示例
- PHP date_timestamp_get()用法及代码示例
- PHP date_format()用法及代码示例
- PHP date_timezone_set()用法及代码示例
- PHP date_interval_format()用法及代码示例
- PHP date_sub()用法及代码示例
- PHP date_timezone_get()用法及代码示例
注:本文由纯净天空筛选整理自 PHP date_create_immutable() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。