2024 年 PHP 大会日本站

strptime

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

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

警告

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

描述

#[\Deprecated]
strptime(string $timestamp, string $format): array|false

strptime() 返回一个包含已解析 timestamp 的数组,或在发生错误时返回 false

月份和星期名称以及其他与语言相关的字符串遵循使用 setlocale()LC_TIME)设置的当前区域设置。

参数

timestamp (string)

要解析的字符串(例如,从 strftime() 返回的字符串)。

format (string)

timestamp 中使用的格式(例如,与 strftime() 中使用的格式相同)。请注意,strftime() 可用的某些格式选项在 strptime() 中可能没有任何作用;支持的精确子集将根据所使用的操作系统和 C 库而有所不同。

有关格式选项的更多信息,请阅读 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" 从 1 月 1 日开始的天数 (0-365)
"unparsed" 使用指定的 format 未识别的 timestamp 部分

变更日志

版本 描述
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 平台上实现。

注意:

在内部,此函数调用系统 C 库提供的 strptime() 函数。此函数在不同的操作系统上可能会表现出明显不同的行为。建议使用 date_parse_from_format(),它不会出现这些问题。

注意:

"tm_sec" 包括任何闰秒(目前每年最多 2 个)。有关闰秒的更多信息,请参阅 » 维基百科关于闰秒的文章

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top