php mktime函数获取今天开始和结束的时间截
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获取本月起始时间戳和结束时间戳
- //开源代码phpfensi.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;
- }