首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[函数]strptime()函数—用法及示例

发布于 2025-05-08 19:27:53
0
9

函数名:strptime()

适用版本:PHP 5.1.0及以上版本

函数功能:将格式化时间字符串解析为时间数组

用法: strptime(string $date, string $format): array|false

参数说明:

  • $date:要解析的格式化时间字符串
  • $format:时间字符串的格式,与strftime()函数的格式相同

返回值:

  • 如果解析成功,返回一个包含时间信息的关联数组,包括以下键:
    • "tm_sec":秒数(0-59)
    • "tm_min":分钟数(0-59)
    • "tm_hour":小时数(0-23)
    • "tm_mday":一个月中的第几天(1-31)
    • "tm_mon":月份(0-11)
    • "tm_year":年份(从1900开始计算)
    • "tm_wday":一周中的第几天(0-6,0表示星期日)
    • "tm_yday":一年中的第几天(0-365)
    • "unparsed":未解析的时间字符串的部分
  • 如果解析失败,返回false

示例:

$dateString = "2021-09-15";
$formatString = "%Y-%m-%d";

$timeArray = strptime($dateString, $formatString);

if ($timeArray !== false) {
    echo "解析成功!";
    echo "年份:" . $timeArray['tm_year'] + 1900 . "<br>";
    echo "月份:" . $timeArray['tm_mon'] + 1 . "<br>";
    echo "日期:" . $timeArray['tm_mday'] . "<br>";
} else {
    echo "解析失败!";
}

输出:

解析成功!
年份:2021
月份:9
日期:15

注意事项:

  • strptime()函数返回的时间数组中的年份需要加上1900,月份需要加上1,以获取正确的日期信息。
  • 由于strptime()函数不支持解析时区、时差等信息,可能会导致解析结果不准确,建议在需要处理时区的情况下使用更全面的日期时间处理函数。
评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

8926

帖子

29

小组

2863

积分

站长交流