php mktime函數獲取今天開始和結束的時間截,mktime函數我想大家并不陌生了,他可以把日期轉換在時間截了,下面我整理了一一些使用mktime函數對日期轉換的例子,希望文章對各位有幫助.
下面我們開始介紹如何獲取當天的開始時間截和結束時間截,代碼如下:
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.
例子,今日、昨日、上周、本月的起始時間戳和結束時間戳,代碼如下:
- //開始時間截
- $start=mktime(0,0,0,date("m"),date("d"),date("Y"));
- //結束時間截:
- $end=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
- //php獲取昨日起始時間戳和結束時間戳
- $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
- $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
- //php獲取上周起始時間戳和結束時間戳
- $beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
- $endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
- //php獲取本月起始時間戳和結束時間戳
- //開源代碼Vevb.com
- $beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
- $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
寫成函數轉換成中文,代碼如下:
- function get_period_time($type='day'){
- $rs = FALSE;
- $now = time();
- switch ($type){
- case 'day'://今天
- $rs['beginTime'] = date('Y-m-d 00:00:00', $now);
- $rs['endTime'] = date('Y-m-d 23:59:59', $now);
- break;
- case 'week'://本周
- $time = '1' == date('w') ? strtotime('Monday', $now) : strtotime('last Monday', $now);
- $rs['beginTime'] = date('Y-m-d 00:00:00', $time);
- $rs['endTime'] = date('Y-m-d 23:59:59', strtotime('Sunday', $now));
- break;
- case 'month'://本月
- $rs['beginTime'] = date('Y-m-d 00:00:00', mktime(0, 0, 0, date('m', $now), '1', date('Y', $now)));
- $rs['endTime'] = date('Y-m-d 23:39:59', mktime(0, 0, 0, date('m', $now), date('t', $now), date('Y', $now)));
- break;
- case '3month'://三個月
- $time = strtotime('-2 month', $now);
- $rs['beginTime'] = date('Y-m-d 00:00:00', mktime(0, 0,0, date('m', $time), 1, date('Y', $time)));
- $rs['endTime'] = date('Y-m-d 23:39:59', mktime(0, 0, 0, date('m', $now), date('t', $now), date('Y', $now)));
- break;
- case 'half_year'://半年內
- $time = strtotime('-5 month', $now);
- $rs['beginTime'] = date('Y-m-d 00:00:00', mktime(0, 0,0, date('m', $time), 1, date('Y', $time)));
- $rs['endTime'] = date('Y-m-d 23:39:59', mktime(0, 0, 0, date('m', $now), date('t', $now), date('Y', $now)));
- break;
- case 'year'://今年內
- $rs['beginTime'] = date('Y-m-d 00:00:00', mktime(0, 0,0, 1, 1, date('Y', $now)));
- $rs['endTime'] = date('Y-m-d 23:39:59', mktime(0, 0, 0, 12, 31, date('Y', $now)));
- break;
- }
- return $rs;
- }
新聞熱點
疑難解答