函数名:date_create_immutable()
函数功能:创建一个不可变的日期时间对象
适用版本:PHP 5 >= 5.5.0, PHP 7
用法: date_create_immutable ( string $time= "now" [, DateTimeZone $timezone= NULL ] ) : DateTimeImmutable|false
参数:
- $time(可选):表示日期时间的字符串。默认为当前日期时间。可以是任意合法的日期时间格式,比如"2022-01-01"或"next Monday"等。
- $timezone(可选):表示日期时间的时区。如果未提供,则使用默认时区。
返回值:
- 成功时返回一个DateTimeImmutable对象,代表给定的日期时间。
- 失败时返回false。
示例:
// 示例1:创建一个不可变的当前日期时间对象
$datetime = date_create_immutable();
echo $datetime->format('Y-m-d H:i:s'); // 输出当前日期时间
// 示例2:创建一个不可变的指定日期时间对象
$datetime = date_create_immutable('2022-01-01 12:00:00', new DateTimeZone('America/New_York'));
echo $datetime->format('Y-m-d H:i:s'); // 输出指定的日期时间
// 示例3:创建一个不可变的相对日期时间对象
$datetime = date_create_immutable('next Monday');
echo $datetime->format('Y-m-d'); // 输出下一个周一的日期
注意事项:
- 使用date_create_immutable()函数时,日期时间对象将变为不可变。这意味着无法修改该对象的值,所有修改操作都会返回一个新的日期时间对象。
- 如果提供了一个无效的日期时间字符串,或者出现其他错误,该函数将返回false。因此,在使用返回值之前,应该检查返回值是否为false以避免出错。