PHP strptime() 函数
定义和使用
strptime() 函数接受一个由 strftime() 生成的日期字符串和一个格式字符串作为参数,并解析给定字符串的指定格式。
语法
strptime(date,format)
参数
序号 | 参数和描述 |
---|---|
1 | date(必填) 这是一个字符串值,表示要解析的日期。 |
2 | format(必填) 这是一个字符串值,表示用于解析日期的格式。 |
返回值
PHP strptime()函数返回一个包含解析日期的数组。如果失败,该函数返回布尔值 false 。返回的数组包含以下键值对−
- [tm_sec] − 秒数(0-61)
- [tm_min] − 分钟数(0-59)
- [tm_hour] − 小时数(0-23)
- [tm_mday] − 月份中的天数(1-31)
- [tm_mon] − 自 1月份以来的月数(0-11)
- [tm_year] − 自1900年以来的年数
- [tm_wday] − 自星期日以来的天数(0-6)
- [tm_yday] − 自1月1日以来的天数(0-365)
- [unparsed] − 使用指定的格式无法识别的日期部分,如果有的话
PHP版本
该函数首次引入于PHP版本5.1.0,并且适用于所有后续版本。
示例
以下示例演示了 strptime() 函数的用法−
<?php
format = '%A %d %B %G %T';strf = strftime(format);res = strptime(strf,format);
print_r($res);
?>
这将产生以下结果−
Array ( [tm_sec] => 26 [tm_min] => 35 [tm_hour] => 15 [tm_mday] => 13 [tm_mon] => 4 [tm_year] => 0 [tm_wday] => 3 [tm_yday] => 132 [unparsed] => )
示例
<?php
format = '%d/%m/%Y %H:%M:%S';strf = strftime(format);
echo "strf\n";
print_r(strptime(strf,format));
?>
这将产生以下结果 –
08/06/2020 09:10:32 Array ( [tm_sec] => 32 [tm_min] => 10 [tm_hour] => 9 [tm_mday] => 8 [tm_mon] => 5 [tm_year] => 120 [tm_wday] => 1 [tm_yday] => 159 [unparsed] => )
以下是使用strftime格式化日期/时间的各种字符 –
-
%a – 缩写的星期几
-
%A – 完整的星期几
-
%b – 缩写的月份
-
%B – 完整的月份
-
%c – 优先的日期和时间表示
-
%C – 世纪数(年份除以100,范围00到99)
-
%d – 日期的第几天(01到31)
-
%D – 同 %m/%d/%y
-
%e – 日期的第几天(1到31)
-
%g – 类似于 %G,但没有世纪
-
%G – 对应于 ISO 周数的四位年份(参见 %V)
-
%h – 同 %b
-
%H – 使用24小时制的小时数(00到23)
-
%I – 使用12小时制的小时数(01到12)
-
%j – 一年中的第几天(001至366)
-
%m – 月份(01至12)
-
%M – 分钟
-
%n – 换行符
-
%p – 根据给定时间值为上午还是下午
-
%r – 时间的上午和下午表示法
-
%R – 24小时制的时间
-
%S – 秒数
-
%t – 制表符
-
%T – 当前时间,等同于 %H:%M:%S
-
%u – 星期几的数字表示(1至7),星期一为1。注意:在Sun Solaris中,星期日为1
-
%U – 当年的第几周,以第一个星期日作为第一周的第一天开始计算
-
%V – 当年的ISO 8601周数(01至53),其中第1周是当前年份中至少有4天的第一周,星期一为每周的第一天
-
%W – 当年的第几周,以第一个星期一作为第一周的第一天开始计算
-
%w – 周几的数字表示,星期天=0
-
%x – 日期的首选表示,不包含时间
-
%X – 时间的首选表示,不包含日期
-
%y – 年份,不包含世纪(范围00至99)
-
%Y – 年份,包含世纪
-
%Z或%z – 时区或名称或缩写
-
%% – 字面上的%字符