📜  PHP | date_create_immutable_from_format()函数(1)

📅  最后修改于: 2023-12-03 15:03:36.493000             🧑  作者: Mango

PHP | date_create_immutable_from_format()函数

在PHP中,使用date_create_immutable_from_format()函数可以根据指定的格式创建一个不可变的DateTime对象。

语法
date_create_immutable_from_format(string $format, string $time, ?DateTimeZone $timezone)

参数说明:

  • $format:必需。指定时间的格式。详情见下文。
  • $time:必需。指定时间的字符串。
  • $timezone:可选。指定时区,如果不指定,则默认使用系统时区。
时间格式

$format参数支持以下格式:

  • Y:4位数字的年份
  • m:2位数字的月份
  • d:2位数字的日期
  • H:24小时制的小时数
  • i:2位数字的分钟数
  • s:2位数字的秒数

等等。具体详情请参考官方文档

示例
$time = "2022-03-01 16:30:10";
$format = "Y-m-d H:i:s";
$timezone = new DateTimeZone("Asia/Shanghai");

$datetime = date_create_immutable_from_format($format, $time, $timezone);
echo $datetime->format("Y-m-d H:i:s");

输出结果:

2022-03-01 16:30:10
注意事项
  • 使用date_create_immutable_from_format()函数创建的DateTime对象是不可变的,即无法修改它的值。
  • 如果$time的时间格式与$format不一致,将会返回false。
  • 在$format中指定的时间标识符必须与$time的时间格式一一对应,否则也会返回false。
  • 如果使用date_create_from_format()函数创建的DateTime对象是可变的,即可用DateTime::modify()方法修改其值。
结论

使用date_create_immutable_from_format()函数可以方便地创建一个指定格式的、不可变的DateTime对象,并且在使用时需要注意参数的格式和一一对应。