1. 程式人生 > >php求出今天的時間,一週的時間,一個月的時間

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);