php 獲取今日、昨日、上週、本月的起始時間戳和結束時間戳的方法,主要使用到了 php 的時間函數 mktime。下面首先仍是直奔主題以示例說明如何使用 mktime 獲取今日、昨日、上週、本月的起始時間戳和結束時間戳,而後在介紹一下 mktime 函數做用和用法。php
1 01 //php獲取今日開始時間戳和結束時間戳 2 02 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y')); 3 03 $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; 4 04 //php獲取昨日起始時間戳和結束時間戳 5 05 $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y')); 6 06 $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1; 7 07 //php獲取上週起始時間戳和結束時間戳 8 08 $beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y')); 9 09 $endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y')); 10 10 //php獲取本月起始時間戳和結束時間戳 11 11 $beginThismonth=mktime(0,0,0,date('m'),1,date('Y')); 12 12 $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
switch ($exchange_time) { case 1 : // 本月 // 本月起始時間: $begin_time = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( "m" ), 1, date ( "Y" ) ) ); $end_time = date ( "Y-m-d H:i:s", mktime ( 23, 59, 59, date ( "m" ), date ( "t" ), date ( "Y" ) ) ); break; case 2 : // 上個月 // 上個月的起始時間: $begin_time = date('Y-m-01 00:00:00',strtotime('-1 month')); $end_time = date("Y-m-d 23:59:59", strtotime(-date('d').'day')); break; case 3 : // 上上個月 $begin_time = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-2,1,date("Y"))); $end_time = date("Y-m-d H:i:s",mktime(23,59,59,date("m")-1 ,0,date("Y"))); break; } echodate("Ymd",strtotime("now")),"\n"; echodate("Ymd",strtotime("-1 week Monday")),"\n"; echodate("Ymd",strtotime("-1 week Sunday")),"\n"; echodate("Ymd",strtotime("+0 week Monday")),"\n"; echodate("Ymd",strtotime("+0 week Sunday")),"\n"; echo"*********第幾個月:"; echodate('n'); echo"*********本週周幾:"; echodate("w"); echo"*********本月天數:"; echodate("t"); echo"*********"; echo'<br>上週起始時間:<br>'; echodate("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))),"\n"; echodate("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))),"\n"; echo'<br>本週起始時間:<br>'; echodate("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))),"\n"; echodate("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))),"\n"; echo'<br>上月起始時間:<br>'; echodate("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))),"\n"; echodate("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y"))),"\n"; echo'<br>本月起始時間:<br>'; echodate("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))),"\n"; echodate("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y"))),"\n"; $season= ceil((date('n'))/3);//當月是第幾季度 echo'<br>本季度起始時間:<br>'; echodate('Y-m-d H:i:s',mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n"; echodate('Y-m-d H:i:s',mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y'))),"\n"; $season= ceil((date('n'))/3)-1;//上季度是第幾季度 echo'<br>上季度起始時間:<br>'; echodate('Y-m-d H:i:s',mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n"; echodate('Y-m-d H:i:s',mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$seas))
本人本身總結 獲取 月初和月末時間 正則表達式
1 $y = date('Y',time()); 2 $m = date('m',time()); 3 4 $t1 = strtotime($y.'-'.$m.'-1 00:00:00');//本月初 獲取時間戳 5 //$t2 = strtotime(date('Y-m-t'));//獲取本月末 方法2 6 $t2 = strtotime($y.'-'.($m).'-'.date('t'));//本月末 7 8 $time1=date('Y-m-d',$t1);//把本月初時間戳 換成ymd格式 9 $time2=date('Y-m-d',$t2);//把本月末時間戳 換成ymd格式 10 $time_where = "between '".$time1."' and '".$time2."' group by add_yy.id";
PS:本站還提供了一個Unix時間戳轉換工具,包含了各類常見語言針對時間戳的操做方法,提供給你們參考:算法
Unix時間戳(timestamp)轉換工具:
http://tools.jb51.net/code/unixtime數據庫
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php日期與時間用法總結》、《PHP數學運算技巧總結》、《PHP數組(Array)操做技巧大全》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《php正則表達式用法總結》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》及《php常見數據庫操做技巧彙總》數組
但願本文所述對你們PHP程序設計有所幫助。數據結構
以上是雲棲社區小編爲您精心準備的的內容,在雲棲社區的博客、問答、公衆號、人物、課程等欄目也有的相關內容,歡迎繼續使用右上角搜索按鈕進行搜索php , 時間戳 , 當前月 , 上個月 , 月初 月末 php 獲取上個月時間戳、php 上個月時間戳、php 上個月的時間戳、上個月時間戳、db2 求上個月月末日期,以便於您獲取更多的相關知識。函數