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+
目录