PHP 獲取今日、昨日、上周、本月的起始時間戳和結束時間戳的方法


php 獲取今日、昨日、上周、本月的起始時間戳和結束時間戳的方法,主要使用到了 php 的時間函數 mktime。下面首先還是直奔主題以示例說明如何使用 mktime 獲取今日、昨日、上周、本月的起始時間戳和結束時間戳,然后在介紹一下 mktime 函數作用和用法

 1 //php獲取今日開始時間戳和結束時間戳
 2 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
 3 $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
 4 //php獲取本周起始時間
 5 $beginWeek = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y"));
 6 $endWeek = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"));
 7 //php獲取昨日起始時間戳和結束時間戳
 8 $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
 9 $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
10 //php獲取上周起始時間戳和結束時間戳
11 $beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
12 $endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
13 //php獲取本月起始時間戳和結束時間戳
14 $beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
15 $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));

PHP mktime() 函數用於返回一個日期的 Unix 時間戳。

語法

mktime(hour,minute,second,month,day,year,is_dst)

參數 描述
hour   可選。規定小時
minute   可選。規定分鍾
second   可選。規定秒
month   可選。規定用數字表示的月
day   可選。規定天
year   可選。規定年。在某些系統上,合法值介於 1901 - 2038 之間。不過在 PHP 5 中已經不存在這個限制了
is_dst

  可選。如果時間在日光節約時間(DST)期間,則設置為1,否則設置為0,若未知,則設置為-1。

  自 5.1.0 起,is_dst 參數被廢棄。因此應該使用新的時區處理特性

用法

參數總是表示 GMT 日期,因此 is_dst 對結果沒有影響。

參數可以從右到左依次空着,空着的參數會被設為相應的當前 GMT 值。

注意在 PHP 5.1 之前,如果該函數的參數非法,則會返回 false。

另外需要注意的是該函數對於日期運算和驗證非常有用。它可以自動校正越界的輸入,如:

 1 echo(date("M-d-Y",mktime(0,0,0,12,36,2001))); 

將輸出結果如:

Jan-05-2002

二、

    

//獲取今天00:00
$todaystart = strtotime(date('Y-m-d'.'00:00:00',time()));
//獲取今天24:00
$todayend = strtotime(date('Y-m-d'.'00:00:00',time()+3600*24));
//統計今天注冊的用戶
$todayuser['create_time'] = array(between,"$todaystart,$todayend");
$todaysum = $Users->where($todayuser)->count();


//獲取昨天00:00
$timestart = strtotime(date('Y-m-d'.'00:00:00',time()-3600*24));
//獲取今天00:00
$timeend = strtotime(date('Y-m-d'.'00:00:00',time()));
//統計昨天注冊的用戶
$map['create_time'] = array(between,"$timestart,$timeend");
$daycount = $Users->where($map)->count();

$this->assign("todaysum",$todaysum);
$this->assign("daycount",$daycount);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM