PHP date_create_immutable_from_format() 函数用法及示例

PHP Date & Time 函数手册

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