使用 PHP 的 strptime 函数解析日期字符串

Code 20 0

strptime() 是 PHP 中用于将字符串转换为时间戳的函数,它可以将一个包含日期的字符串按照指定的格式解析为一个 Unix 时间戳(即从1970年1月1日起的秒数)。

该函数的第一个参数是要解析的日期字符串,第二个参数是日期时间的格式模板,PHP 中的日期时间格式模板可以使用特定的字符来表示日期、时间和时区等信息。

在调用 strptime() 时,需要指定正确的日期时间格式模板以匹配要解析的字符串中的日期和时间信息,如果字符串中包含了 "yyyy-mm-dd HH:ii:ss" 这几个部分,就需要在格式模板中使用相应的符号来描述它们。

如果格式模板不正确或无法匹配到任何有效的日期时间信息,strptime() 将返回 false 或抛出异常,在使用该函数之前,最好先检查输入字符串的有效性。

常规代码示例:

<?php
$dateString = '2023-07-30 15:45'; // 要解析的日期字符串
$formatTemplate = 'Y-m-d H:i'; // 日期时间的格式模板
try {
    $timestamp = strptime($dateString, $formatTemplate);
} catch (Exception $e) {
    echo "无效的日期字符串";
    return;
}
if ($timestamp === false) {
    // 没有找到有效的日期时间信息,处理错误情况
    echo "无法解析日期字符串";
    return;
} else {
    // 成功解析并获取了 Unix 时间戳
    echo date('Y-m-d H:i:s', $timestamp); // 输出结果为 "2023-07-30 15:45:00"
}
?>

优化代码建议:

使用 try...catch 语句块可以更好地捕获和处理可能出现的异常情况,提高程序的健壮性和可读性。

可以考虑对输入字符串进行有效性验证,以确保其符合预期的格式要求,这可以通过正则表达式或其他方法来实现。

《使用 PHP 的 strptime 函数解析日期字符串》.doc
将本文下载保存,方便收藏和打印
导出文档