函数名:date_create_from_format()
适用版本:PHP 5 >= 5.3.0, PHP 7
用法:date_create_from_format(string $format, string $time, DateTimeZone $timezone = null) : DateTime|false
说明:date_create_from_format() 函数根据指定的格式将一个日期时间字符串解析为 DateTime 对象。该函数会根据给定的格式字符串解析时间字符串,然后返回一个 DateTime 对象。如果解析失败则返回 false。
参数:
- $format:指定时间字符串的格式。该格式与 PHP 的 date() 或 strftime() 的格式字符串类似,但也包含一些额外的字符。具体的格式化符号可以参考 DateTime 官方文档。
- $time:待解析的时间字符串。
- $timezone(可选):要应用的时区。如果没有提供时区,则使用服务器的默认时区。
返回值:
- 如果成功解析,返回一个 DateTime 对象。
- 如果解析失败,返回 false。
示例:
$dateString = '2021-05-20 12:34:56';
$format = 'Y-m-d H:i:s';
$timezone = new DateTimeZone('Asia/Shanghai');
$date = date_create_from_format($format, $dateString, $timezone);
if ($date) {
echo $date->format('Y-m-d H:i:s'); // 输出:2021-05-20 12:34:56
} else {
echo '解析失败';
}
在上面的示例中,我们使用 date_create_from_format()
函数将字符串 $dateString
解析为 DateTime 对象,并指定了格式 $format
为 'Y-m-d H:i:s',时区为 'Asia/Shanghai'。如果解析成功,则打印出格式化后的日期时间字符串;否则打印出 '解析失败'。