PHP是一門(mén)十分流行的后端語(yǔ)言,而關(guān)于日期和時(shí)間的處理也是PHP中十分重要的一部分,其中date()函數(shù)就是PHP數(shù)據(jù)處理中經(jīng)典的一個(gè)函數(shù)。通過(guò)date()函數(shù),我們可以以各種格式來(lái)獲取當(dāng)前或指定時(shí)間的日期和時(shí)間。
在PHP中,我們可以使用一些代號(hào)來(lái)表示不同的日期和時(shí)間格式,比如:
Y:四位數(shù)字完整表示的年份,例如2018 y:兩位數(shù)字表示的年份,例如18 m:數(shù)字表示的月份,例如05或11 d:月份中的第幾天,例如01或31 H:24小時(shí)制的小時(shí),例如00或23 h:12小時(shí)制的小時(shí),例如01或11 i:分鐘數(shù),例如00或59 s:秒數(shù),例如00或59 W:ISO-8601格式不含小時(shí)與分鐘的日期表示,例如2018W41
我們可以通過(guò)將這些代號(hào)與date()函數(shù)的第二個(gè)參數(shù)進(jìn)行組合,來(lái)獲取不同格式的日期和時(shí)間。
//獲取當(dāng)前完整日期與時(shí)間 echo date("Y-m-d H:i:s"); //獲取當(dāng)前日期 echo date("Y-m-d"); //獲取當(dāng)前小時(shí)數(shù) echo date("H"); //獲取當(dāng)前分鐘數(shù) echo date("i"); //獲取今天是本年的第幾天 echo date("z");
除了以上的日期和時(shí)間相關(guān)代號(hào)以外,date()函數(shù)還可以接受第一個(gè)參數(shù)n作為日期和時(shí)間的參數(shù)。n代表的是從1970年1月1日00:00:00以來(lái)的秒數(shù)。例如:
//獲取從1970年1月1日00:00:00到當(dāng)前時(shí)間經(jīng)過(guò)的秒數(shù) echo time(); //獲取一個(gè)指定日期的時(shí)間戳 $date = strtotime("2018-10-12"); echo $date; //結(jié)果為1539312000
雖然可以使用time()函數(shù)來(lái)獲取當(dāng)前時(shí)間的時(shí)間戳,但是strtotime()函數(shù)可以根據(jù)傳入的字符串解析出時(shí)間戳,這在有些時(shí)候會(huì)更加方便。
接下來(lái),我們可以通過(guò)strtotime()函數(shù)進(jìn)一步深入了解如何使用date()函數(shù)傳入n這個(gè)參數(shù)。
//通過(guò)time()函數(shù)獲取當(dāng)前時(shí)間戳,再轉(zhuǎn)化為星期幾,使用date()函數(shù)。 //其中%w代表星期數(shù)字表示(0為周日,1為周一,2為周二,以此類(lèi)推)。 echo date("l", time()); //也可以直接通過(guò)n數(shù)字來(lái)獲取特定日期的星期編號(hào) echo date("w", 1539312000); //獲取一個(gè)時(shí)間戳所表示的日期 echo date("Y-m-d", 1539312000);
結(jié)合以上例子,我們可以看出n對(duì)于date()函數(shù)來(lái)說(shuō),是一個(gè)非常有用的參數(shù)。通過(guò)n,我們可以方便地獲取時(shí)間戳,從而結(jié)合date()函數(shù)獲取我們所需的日期和時(shí)間信息。這不僅方便了我們的開(kāi)發(fā)工作,也為我們添加了更多關(guān)于時(shí)間處理和計(jì)算的工具。
總之,date()函數(shù)和它的n參數(shù)是PHP處理日期和時(shí)間的重要切口之一,要熟練掌握常見(jiàn)的日期時(shí)間格式代號(hào),并能夠動(dòng)態(tài)地結(jié)合n參數(shù)獲取所需的時(shí)間戳。