函数名: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()函数不支持解析时区、时差等信息,可能会导致解析结果不准确,建议在需要处理时区的情况下使用更全面的日期时间处理函数。