
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版本
此函数最初是在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
