本文實(shí)例講述了PHP基于DateTime類解決Unix時(shí)間戳與日期互轉(zhuǎn)問(wèn)題。分享給大家供大家參考,具體如下:
這個(gè)問(wèn)題主要在32位的系統(tǒng)下出現(xiàn),64位的不存在這樣的問(wèn)題。php 5.2+提供了DateTime類來(lái)處理這樣的問(wèn)題,參考方案如下(請(qǐng)注意時(shí)區(qū)的處理):
//1、Unix時(shí)間戳轉(zhuǎn)日期 function unixtime_to_date($unixtime, $timezone = 'PRC') { $datetime = new DateTime("@$unixtime"); //DateTime類的bug,加入@可以將Unix時(shí)間戳作為參數(shù)傳入 $datetime->setTimezone(new DateTimeZone($timezone)); return $datetime->format("Y-m-d H:i:s"); } //2、日期轉(zhuǎn)Unix時(shí)間戳 function date_to_unixtime($date, $timezone = 'PRC') { $datetime= new DateTime($date, new DateTimeZone($timezone)); return $datetime->format('U'); } echo date_to_unixtime("1900-1-31 00:00:00"); //輸出-2206425952 echo '<br>'; echo unixtime_to_date(date_to_unixtime("1900-1-31 00:00:00")); //輸出1900-01-31 00:00:00
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。