strptime()函數(shù)解析由 strftime() 生成的日期/時(shí)間
strptime()函數(shù)接受日期字符串(與生成的strftime() )和格式字符串作為參數(shù),并解析以指定的格式給定的字符串。
strptime($date, $format)
序號(hào) | 參數(shù)及說(shuō)明 |
---|---|
1 | date(必需) 這是一個(gè)字符串值,表示要分析的日期。 |
2 | format(必需) 這是一個(gè)字符串值,表示用于解析日期的格式。 |
PHP strptime()函數(shù)返回一個(gè)包含已分析日期的數(shù)組(將 date 解析后的數(shù)組)。如果失敗,此函數(shù)將返回布爾值false。返回的數(shù)組包含以下鍵和減號(hào)
tm_min - 當(dāng)前小時(shí)內(nèi)的分鐘數(shù)(0-59)
tm_hour - 午夜起的小時(shí)數(shù)(0-23)
tm_mday - 月份中的第幾天(1-31)
tm_mon - 自一月起過(guò)了幾個(gè)月(0-11)
tm_year - 自 1900 年起過(guò)了幾年
tm_wday - 自星期天起過(guò)了幾天(0-6)
tm_yday - 本年自一月一日起過(guò)了多少天(0-365)
unparsed - date 中未能通過(guò)指定的 format 識(shí)別的部分
此函數(shù)最初是在PHP版本5.1.0中引入的,并且可以在所有更高版本中使用。
以下示例演示了strptime()函數(shù)的用法-
<?php $format = '%A %d %B %G %T'; $strf = strftime($format); $res = strptime($strf, $format); print_r($res); ?>測(cè)試看看?/?
輸出結(jié)果
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)); ?>測(cè)試看看?/?
輸出結(jié)果
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格式化日期/時(shí)間的各種字符-
%a - 星期幾名稱的簡(jiǎn)寫(xiě)
%A - 星期幾名稱的全稱
%b - 月份名稱的簡(jiǎn)寫(xiě)
%B - 月份名稱的全稱
%c - 首選的日期和時(shí)間表示法
%C - 表示世紀(jì)的數(shù)字(年份除以 100,范圍從 00 到 99)
%d - 一個(gè)月中的第幾天(01 到 31)
%D - 時(shí)間格式,與 %m/%d/%y 表示法相同
%e - 一個(gè)月中的第幾天(1 到 31)
%g - 與 %G 表示法類似,但不帶世紀(jì)
%G - 與 ISO 星期數(shù)對(duì)應(yīng)的 4 位數(shù)年份(見(jiàn) %V)
%h - 與 %b 表示法相同
%H - 小時(shí),使用 24 小時(shí)制(00 到 23)
%I - 小時(shí),使用 12 小時(shí)制(01 到 12)
%j - 一年中的第幾天(001 到 366)
%m - 月份(01 到 12)
%M - 分
%n - 換行符
%p - 與給定的時(shí)間值相對(duì)應(yīng)的 am 或 pm
%r - a.m. 和 p.m. 的時(shí)間標(biāo)記法
%R - 24 小時(shí)制的時(shí)間標(biāo)記法
%S - 秒
%t - tab 制表符
%T - 當(dāng)前時(shí)間,與 %H:%M:%S 表示法相同
%u - 星期幾的數(shù)字表示(1 到 7),Monday[星期一] = 1。警告:在 Sun Solaris 系統(tǒng)中,Sunday[星期日] = 1
%U - 當(dāng)年包含的周數(shù),從第一個(gè)星期日開(kāi)始,作為第一周的第一天
%V - 當(dāng)年包含的 ISO 8601 格式下的周數(shù)(01 到 53),week 1 表示當(dāng)年的第一周,至少要有四天,且以星期一作為周的第一天
%W - 當(dāng)年包含的周數(shù),從第一個(gè)星期一開(kāi)始,作為第一周的第一天
%w - 以十進(jìn)制數(shù)形式表示一周中的某天,Sunday[星期日] = 0
%x - 首選的日期表示法,不帶時(shí)間
%X - 首選的時(shí)間表示法,不帶日期
%y - 不包含表示世紀(jì)的數(shù)字的年份表示(范圍從 00 到 99)
%Y - 包含表示世紀(jì)的數(shù)字的年份表示
%Z 或 %z - 時(shí)區(qū)名稱或簡(jiǎn)寫(xiě)
%% - 輸出一個(gè) % 字符