php求出今天的時間,一週的時間,一個月的時間
php 獲取今日、昨日、上週、本月的起始時間戳和結束時間戳的方法,主要使用到了 php 的時間函式 mktime。下面首先還是直奔主題以示例說明如何使用 mktime 獲取今日、昨日、上週、本月的起始時間戳和結束時間戳,然後在介紹一下 mktime 函式作用和用法。
01 |
//php獲取今日開始時間戳和結束時間戳 |
02 |
$beginToday = mktime (0,0,0, date ( 'm' ), date ( 'd' ), date ( 'Y' )); |
03 |
$endToday = mktime (0,0,0, date ( 'm' ), date ( 'd' )+1, date ( 'Y' ))-1; |
04 |
//php獲取昨日起始時間戳和結束時間戳 |
05 |
$beginYesterday = mktime (0,0,0, date ( 'm' ), date ( 'd' )-1, date ( 'Y' )); |
06 |
$endYesterday = mktime (0,0,0, date ( 'm' ), date ( 'd' ), date ( 'Y' ))-1; |
07 |
//php獲取上週起始時間戳和結束時間戳 |
08 |
$beginLastweek = mktime (0,0,0, date ( 'm' ), date ( 'd' )- date ( 'w' )+1-7, date ( 'Y' )); |
09 |
$endLastweek = mktime (23,59,59, date ( 'm' ), date ( 'd' )- date ( 'w' )+7-7, date ( 'Y' )); |
10 |
//php獲取本月起始時間戳和結束時間戳 |
11 |
$beginThismonth = mktime (0,0,0, date ( 'm' ),1, date ( 'Y' )); |
12 |
$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);