strptime

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

strptime解析由 strftime() 生成的日期/时间

警告

此函数自 PHP 8.1.0 起弃用。强烈建议不要应用此函数。

说明

strptime(string$timestamp, string$format): array|false

strptime() 返回一个将 timestamp 解析后的数组,如果出错返回 false

月份和星期几的名字以及其它与语种有关的字符串对应于 setlocale()设定的当前区域(LC_TIME)。

参数

timestampstring

被解析的字符串(例如从 strftime() 返回的)

formatstring

timestamp 所使用的格式(例如同 strftime() 中所使用的相同)。

更多有关格式选项的信息见 strftime() 页面。

返回值

返回一个数组 或者在失败时返回 false

数组中包含以下单元
键名说明
tm_sec当前分钟内的秒数(0-61)
tm_min当前小时内的分钟数(0-59)
tm_hour午夜起的小时数(0-23)
tm_mday月份中的第几天(1-31)
tm_mon自一月起过了几个月(0-11)
tm_year自 1900 年起过了几年
tm_wday自星期天起过了几天(0-6)
tm_yday本年自一月一日起过了多少天(0-365)
unparsedtimestamp 中未能通过指定的 format 识别的部分

更新日志

版本说明
8.1.0 此函数已弃用。改用 date_parse_from_format()(用于单独区域设置解析)或者 IntlDateFormatter::parse()(用于依赖区域设置解析)

示例

示例 #1 strptime() 例子

<?php
$format
= '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);

echo
"$strf\n";

print_r(strptime($strf, $format));
?>

以上示例的输出类似于:

03/10/2004 15:54:19 Array ( [tm_sec] => 19 [tm_min] => 54 [tm_hour] => 15 [tm_mday] => 3 [tm_mon] => 9 [tm_year] => 104 [tm_wday] => 0 [tm_yday] => 276 [unparsed] => )

注释

注意: 此函数未在 Windows 平台下实现。

注意:

Internally, this function calls the strptime() function provided by the system's C library. This function can exhibit noticeably different behaviour across different operating systems. The use of date_parse_from_format(), which does not suffer from these issues, is recommended.

注意:

"tm_sec" includes any leap seconds (currently upto 2 a year). For more information on leap seconds, see the » Wikipedia article on leap seconds.

参见

To Top