当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP获取日期对应星期,一周日期,星期开始与结束日期的方法

发布:smiling 来源: PHP粉丝网  添加日期:2018-11-14 15:27:59 浏览: 评论:0 

本文实例讲述了PHP获取日期对应星期、一周日期、星期开始与结束日期的方法。分享给大家供大家参考,具体如下:

  1. /* 
  2.  * 获取日期对应的星期 
  3.  * 参数$date为输入的日期数据,格式如:2018-6-22 
  4.  */ 
  5. function get_week($date) 
  6. { 
  7.   //强制转换日期格式 
  8.   $date_str = date('Y-m-d', strtotime($date)); 
  9.   //封装成数组 
  10.   $arr = explode("-", $date_str); 
  11.   //参数赋值 
  12.   //年 
  13.   $year = $arr[0]; 
  14.   //月,输出2位整型,不够2位右对齐 
  15.   $month = sprintf('%02d', $arr[1]); 
  16.   //日,输出2位整型,不够2位右对齐 
  17.   $day = sprintf('%02d', $arr[2]); 
  18.   //时分秒默认赋值为0; 
  19.   $hour = $minute = $second = 0; 
  20.   //转换成时间戳 
  21.   $strap = mktime($hour, $minute, $second, $month, $day, $year); 
  22.   //获取数字型星期几 
  23.   $number_wk = date("w", $strap); 
  24.   //自定义星期数组 
  25.   $weekArr = array("0", "1", "2", "3", "4", "5", "6"); 
  26.   //获取数字对应的星期 
  27.   return $weekArr[$number_wk]; 
  28. } 
  29. /** 
  30.  * 获取一周日期 
  31.  * @param $time 时间戳 
  32.  * @param $format 转换格式 
  33.  */ 
  34. function get_week($time, $format = "Y-m-d") { 
  35.   $week = date('w',$time); 
  36.   $weekname=array('星期一','星期二','星期三','星期四','星期五','星期六','星期日'); 
  37.   //星期日排到末位 
  38.   if(emptyempty($week)){ 
  39.     $week=7; 
  40.   } 
  41.   for ($i=0;$i<=6;$i++){ 
  42.     $data[$i]['date'] = date($format,strtotime( '+'. $i+1-$week .' days',$time)); 
  43.     $data[$i]['week'] = $weekname[$i]; 
  44.   } 
  45.   return $data; 
  46. } 
  47. /* 
  48.  * 获取某星期的开始时间和结束时间 
  49.  * time 时间 
  50.  * first 表示每周星期一为开始日期 0表示每周日为开始日期 
  51.  */ 
  52. function getWeekMyActionAndEnd($time = '', $first = 1) 
  53. { 
  54.   //当前日期 
  55.   if (!$time) $time = time(); 
  56.   $sdefaultDate = date("Y-m-d", $time); 
  57.   //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期 
  58.   //获取当前周的第几天 周日是 0 周一到周六是 1 - 6 
  59.   $w = date('w', strtotime($sdefaultDate)); 
  60.   //获取本周开始日期,如果$w是0,则表示周日,减去 6 天 
  61.   $week_start = date('Y-m-d', strtotime("$sdefaultDate -" . ($w ? $w - $first : 6) . ' days')); 
  62.   //本周结束日期 
  63.   $week_end = date('Y-m-d', strtotime("$week_start +6 days")); 
  64.   return array("week_start" => $week_start, "week_end" => $week_end); 
  65. } 

Tags: PHP获取日期 PHP一周日期

分享到: