本文實例總結了php日期操作技巧。分享給大家供大家參考,具體如下:
1、php將表單裡面獲取的日期格式轉換成統一的格式
2015-9-9 都統一轉換成 2015-09-09 這樣在數據庫都是統一的格式,方便以後查詢
$year = "2015"; $month = "9"; $day = "09"; var_dump(checkdate($month,$day, $year));//月和日帶有前導0都是符合格式的 if(checkdate($month,$day, $year)===false){ exit('error'); }; $unixtime = mktime(2,2,2,$month,$day,$year);//目的是交給php轉換成月和日都帶有前導0的格式統一的格式存儲在數據庫方便以後查詢 var_dump(date("Y-m-d",$unixtime)); ////交給php轉換成時間戳,然後反轉回來
2、獲取上一天的開始時間戳和結束時間戳
本來思路是:
先用date獲取當天的年月日。單獨獲取。得到年是2015 月是9 日是28
然後減去1就可以了。但問題出來了。
如果今天是1號呢。減去1就變成0了。上個月可能是28天,也可能是30天。
這樣子,先得到上一天的時間戳。讓php自動去計算。
strtotime("-1 day"); //得到上一天的時間戳,現在是幾點就得到上一天這個時間點的時間戳,用這種方式好處是解決了上面問題,php會自動去計算上個月多少天
<?php header("Content-type:text/html;charset=utf-8"); date_default_timezone_set("Asia/Shanghai");//設置時區 $last_day = strtotime("-1 day");//得到上一天的時間戳,現在是幾點就得到上一天這個時間點的時間戳 //通過時間戳得到年月日,以便mktime使用 $year = date("Y",$last_day); $month = date("m",$last_day); $day = date("d",$last_day); $last_day_begin = mktime(0,0,0,$month,$day,$year);//昨天的一天開始的時間戳 $last_day_end = mktime(23,59,59,$month,$day,$year); echo '昨天開始時間戳:'; var_dump($last_day_begin); echo date('Y-m-d H:i:s',$last_day_begin); echo '<br />'; echo '昨天結束時間戳:'; var_dump($last_day_end); echo date('Y-m-d H:i:s',$last_day_end); echo '<br />'; echo ($last_day_end-$last_day_begin)/(60*60);//恰好24個小時
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《PHP數學運算技巧總結》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《PHP數組(Array)操作技巧大全》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《php正則表達式用法總結》、及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。