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) 设置的当前区域设置。

参数

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 秒)。有关闰秒的更多信息,请参阅 » Wikipedia 关于闰秒的文章

参见

添加注释

用户贡献的注释

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