PHP中怎樣實(shí)現(xiàn)日期類(lèi)型轉(zhuǎn)換?在實(shí)際的項(xiàng)目中,我們常會(huì)遇到日期類(lèi)型轉(zhuǎn)換的需求,這篇文章就給大家來(lái)分享幾個(gè)PHP實(shí)現(xiàn)日期類(lèi)型轉(zhuǎn)換的方法,下文有示例供大家參考,感興趣的朋友可以了解看看。
1、使用date()函數(shù)將UNIX時(shí)間戳轉(zhuǎn)換為日期。
2、使用strtotime()函數(shù)將日期轉(zhuǎn)換為UNIX時(shí)間戳。
在PHP中是可以完成日期格式轉(zhuǎn)換的,不過(guò)有一個(gè)缺點(diǎn)就是占用PHP解析器的解析時(shí)間,因此速度會(huì)相對(duì)慢一些。但是這種方式也有優(yōu)點(diǎn),那就是不管是不是數(shù)據(jù)庫(kù)中查詢(xún)獲得的數(shù)據(jù)都可以進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換范圍不受限制。
實(shí)例
$y=date("Y",time()); //年 $m=date("m",time()); //月 $d=date("d",time()); //日 echo $y." "; echo $m." "; echo $d." "; $eight_clock = mktime(8, 0, 0, $m, $d ,$y); //每天8點(diǎn) echo date("Y-m-d H:i:s",$eight_clock)." "; $day_time = mktime(0, 0, 0, $m, 1 ,$y); //每月1號(hào) echo date("Y-m-d H:i:s",$day_time)." ";
實(shí)例擴(kuò)展:
// convert a date into a string that tells how long ago // that date was.... eg: 2 days ago, 3 minutes ago. function ago($d) { $c = getdate(); $p = array('year', 'mon', 'mday', 'hours', 'minutes', 'seconds'); $display = array('year', 'month', 'day', 'hour', 'minute', 'second'); $factor = array(0, 12, 30, 24, 60, 60); $d = datetoarr($d); for ($w = 0; $w < 6; $w++) { if ($w > 0) { $c[$p[$w]] += $c[$p[$w-1]] * $factor[$w]; $d[$p[$w]] += $d[$p[$w-1]] * $factor[$w]; } if ($c[$p[$w]] - $d[$p[$w]] > 1) { return ($c[$p[$w]] - $d[$p[$w]]).' '.$display[$w].'s ago'; } } return ''; } // you can replace this if need be. // This converts my dates returned from a mysql date string // into an array object similar to that returned by getdate(). function datetoarr($d) { preg_match("/([0-9]{4})(\\-)([0-9]{2})(\\-)([0-9]{2})([0-9]{2})(\\:)([0-9]{2})(\\:)([0-9]{2})/",$d,$matches); return array( 'seconds' => $matches[10], 'minutes' => $matches[8], 'hours' => $matches[6], 'mday' => $matches[5], 'mon' => $matches[3], 'year' => $matches[1], ); }
以上就是PHP實(shí)現(xiàn)日期類(lèi)型轉(zhuǎn)換的方法介紹啦,上述示例具有一定的借鑒價(jià)值,有需要的朋友可以參考學(xué)習(xí),希望對(duì)大家學(xué)習(xí)PHP有幫助,想要了解更多可以繼續(xù)瀏覽群英網(wǎng)絡(luò)其他相關(guān)的文章。