PHP strptime() 函数

实例

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

<?php
$format="%d/%m/%Y %H:%M:%S";
$strf=strftime($format);
echo("$strf");
print_r(strptime($strf,$format));
?>

定义和用法

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

注释:该函数未在 Windows 平台下实现。

语法

strptime(date,format);
参数描述
date必需。要解析的字符串(例如:由 strftime() 返回的)。
format

必需。规定日期中要使用的格式:

  • %a - 星期几名称的简写

  • %A - 星期几名称的全称

  • %b - 月份名称的简写

  • %B - 月份名称的全称

  • %c - 首选的日期和时间表示法

  • %C - 表示世纪的数字(年份除以 100,范围从 00 到 99)

  • %d - 一个月中的第几天(01 到 31)

  • %D - 时间格式,与 %m/%d/%y 表示法相同

  • %e - 一个月中的第几天(1 到 31)

  • %g - 与 %G 表示法类似,但不带世纪

  • %G - 与 ISO 星期数对应的 4 位数年份(见 %V)

  • %h - 与 %b 表示法相同

  • %H - 小时,使用 24 小时制(00 到 23)

  • %I - 小时,使用 12 小时制(01 到 12)

  • %j - 一年中的第几天(001 到 366)

  • %m - 月份(01 到 12)

  • %M - 分

  • %n - 换行符

  • %p - 与给定的时间值相对应的 am 或 pm

  • %r - a.m. 和 p.m. 的时间标记法

  • %R - 24 小时制的时间标记法

  • %S - 秒

  • %t - tab 制表符

  • %T - 当前时间,与 %H:%M:%S 表示法相同

  • %u - 星期几的数字表示(1 到 7),Monday[星期一] = 1。警告:在 Sun Solaris 系统中,Sunday[星期日] = 1

  • %U - 当年包含的周数,从第一个星期日开始,作为第一周的第一天

  • %V - 当年包含的 ISO 8601 格式下的周数(01 到 53),week 1 表示当年的第一周,至少要有四天,且以星期一作为周的第一天

  • %W - 当年包含的周数,从第一个星期一开始,作为第一周的第一天

  • %w - 以十进制数形式表示一周中的某天,Sunday[星期日] = 0

  • %x - 首选的日期表示法,不带时间

  • %X - 首选的时间表示法,不带日期

  • %y - 不包含表示世纪的数字的年份表示(范围从 00 到 99)

  • %Y - 包含表示世纪的数字的年份表示

  • %Z 或 %z - 时区名称或简写

  • %% - 输出一个 % 字符

技术细节

返回值:

如果成功,则该函数返回带有被解析日期的数组。如果失败则返回 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 识别的部分

PHP 版本:5.1+