PHP日期函數對大家來說并不陌生,那么應該如何將兩者進行相互轉換呢?下面我為大家詳細的介紹一下時間戳與日期的轉換以及經常會用到的幾種實例。
一.獲取指定日期或時間戳
大家都知道PHP日期一般分為兩種,一種是時間戳類型(1228348800),另一種則是我們常見的日期格式(2013-6-25)。首先我們就來學習一下時間函數的用法:
date("Y-m-d H:i",time()); 以“年-月-日 時:分”的格式顯示當前時間,其中time()是獲取當前的時間戳;
strtotime("2009-1-22");獲取指定日期的時間戳;
strtotime("-1 day");獲取昨天這個時間的時間戳;這個也是常見的PHP面試題哦!
關于strtotime的用法還有很多,例如獲取上一周,明天,下周的時間戳等等,此處就不再一一介紹了;
二.獲得今天零點的時間戳
要獲得零點的unix時間戳,可以使用$todaytime=strtotime(“today”),然后再使用date("Y-m-d H:i",$todaytime)轉換為日期;
三.php中時間戳轉換為日期,并按照時間顯示不同的內容,如剛剛,分鐘前,小時前,今天,昨天等。
在一些博客或者微博的日志動態中,我們經常會看到一些時間顯示為剛剛,幾分鐘前等這樣的效果,等過去一定時間會顯示為正常的日期。這種展現形式給用戶的體驗是非常好的,那么這樣的效果是如何實現的呢?需要的朋友可以參考一下下面的函數:
- function transTime($ustime) {
- $ytime = date("Y-m-d H:i",$ustime);
- $rtime = date("n月j日 H:i",$ustime);
- $htime = date("H:i",$ustime);
- $time = time() - $ustime;
- $todaytime = strtotime("today");
- $time1 = time() - $todaytime;
- if($time < 60){
- $str = '剛剛';
- }else if($time < 60 * 60){
- $min = floor($time/60);
- $str = $min.'分鐘前';
- }else if($time < $time1){
- $str = '今天 '.$htime;
- }else{
- $str = $rtime;
- }
- return $str;
- }
在這個函數中你可以添加更多的比較使顯示的日期更加具體,比如添加 秒鐘前,前天等更具體的日期;
四.php日期中補0與不補0
echo date('Y-m-d'); 顯示2013-06-08
echo date('Y-n-j'); 顯示2012-6-8
小編總結:從上述的幾個例子中可以看出,date與strtotime這兩個函數的應用是密不可分的。希望這篇文章對大家有所幫助,同時也希望能與大家多多探討交流!
新聞熱點
疑難解答