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)
unparsed timestamp 中未能通过指定的 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