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.

例子,今日、昨日、上周、本月的起始时间戳和结束时间戳,代码如下:

  1. //开始时间截
  2. $start=mktime(0,0,0,date("m"),date("d"),date("Y"));
  3. //结束时间截:
  4. $end=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
  5. //php获取昨日起始时间戳和结束时间戳
  6. $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
  7. $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
  8. //php获取上周起始时间戳和结束时间戳
  9. $beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
  10. $endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
  11. //php获取本月起始时间戳和结束时间戳
  12. //开源代码phpfensi.com
  13. $beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
  14. $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));

写成函数转换成中文,代码如下:

  1. function get_period_time($type='day'){
  2. $rs = FALSE;
  3. $now = time();
  4. switch ($type){
  5. case 'day'://今天
  6. $rs['beginTime'] = date('Y-m-d 00:00:00', $now);
  7. $rs['endTime'] = date('Y-m-d 23:59:59', $now);
  8. break;
  9. case 'week'://本周
  10. $time = '1' == date('w') ? strtotime('Monday', $now) : strtotime('last Monday', $now);
  11. $rs['beginTime'] = date('Y-m-d 00:00:00', $time);
  12. $rs['endTime'] = date('Y-m-d 23:59:59', strtotime('Sunday', $now));
  13. break;
  14. case 'month'://本月
  15. $rs['beginTime'] = date('Y-m-d 00:00:00', mktime(0, 0, 0, date('m', $now), '1', date('Y', $now)));
  16. $rs['endTime'] = date('Y-m-d 23:39:59', mktime(0, 0, 0, date('m', $now), date('t', $now), date('Y', $now)));
  17. break;
  18. case '3month'://三个月
  19. $time = strtotime('-2 month', $now);
  20. $rs['beginTime'] = date('Y-m-d 00:00:00', mktime(0, 0,0, date('m', $time), 1, date('Y', $time)));
  21. $rs['endTime'] = date('Y-m-d 23:39:59', mktime(0, 0, 0, date('m', $now), date('t', $now), date('Y', $now)));
  22. break;
  23. case 'half_year'://半年内
  24. $time = strtotime('-5 month', $now);
  25. $rs['beginTime'] = date('Y-m-d 00:00:00', mktime(0, 0,0, date('m', $time), 1, date('Y', $time)));
  26. $rs['endTime'] = date('Y-m-d 23:39:59', mktime(0, 0, 0, date('m', $now), date('t', $now), date('Y', $now)));
  27. break;
  28. case 'year'://今年内
  29. $rs['beginTime'] = date('Y-m-d 00:00:00', mktime(0, 0,0, 1, 1, date('Y', $now)));
  30. $rs['endTime'] = date('Y-m-d 23:39:59', mktime(0, 0, 0, 12, 31, date('Y', $now)));
  31. break;
  32. }
  33. return $rs;
  34. }