date_create_immutable_from_format()函数根据指定的格式解析时间字符串
date_create_immutable_from_format()函数具有DateTimeImmutable::createFromFormat()的别名。 它接受时间字符串和格式字符串作为参数,以指定的格式解析给定的时间字符串,并返回DateTimeImmutable对象。
date_create_immutable_from_format($date, $time [,$timezone])
序号 | 参数及说明 |
---|---|
1 | format(必需) 这是一个字符串值,表示您需要解析给定时间字符串的格式。 |
2 | time(必需) 这是一个字符串值,表示您需要解析的时间。 |
3 | timezone(可选) 这是DateTimeZone类的对象,表示所需的时区。 |
date_create_immutable_from_format()函数返回一个表示解析时间的DateTime对象。如果失败,则此函数返回布尔值false。
此函数最初是在PHP版本5.5.0中引入的,并且可以在所有更高版本中使用。
以下示例演示了date_create_immutable_from_format()函数的用法-
<?php //创建一个DateTime对象 $date = "1989-08-25"; $format = "Y-m-d"; $res = date_create_immutable_from_format($format, $date); print("Date: ".date_format($res, "Y-m-d")); ?>测试看看‹/›
输出结果
Date: 1989-08-25
现在,让我们尝试传递可选的timezone参数-
<?php //创建一个DateTime对象 $date = "1989-08-25"; $format = "Y-m-d"; $tz = new DateTimeZone('Asia/Shanghai'); $res = date_create_immutable_from_format($format, $date, $tz); print date_format($res, "Y-m-d"); ?>测试看看‹/›
输出结果
1989-08-25
以下示例演示了具有不同格式的date_create_immutable_from_format()-
<?php $res1 = date_create_immutable_from_format("j.n.Y", "25.8.2014"); print(date_format($res1, "Y-m-d")); print("\n"); $res2 = date_create_immutable_from_format('Y-d-m H:i:s', '2014-25-08 12:20:25'); print(date_format($res2, "Y-m-d H:i:s")); ?>测试看看‹/›
这将产生以下输出-
2014-08-25 2014-08-25 12:20:25