×

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

chen chen 发表于2021-07-27 22:10:44 浏览515 评论0

抢沙发发表评论

/**
   * 获取一周日期
   * @param $time 时间戳
   * @param $format 转换格式
   */
  function get_week_arr($time=0, $format = "Y-m-d"){
      if(!$time){
          $time = time();
      }
      $week = date('w', $time);
      $weekname = array('星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日');
      //星期日排到末位
      if (empty($week)) {
          $week = 7;
      }
      for ($i = 0; $i <= 6; $i++) {
          $currDay = $i+1-$week;
          $data[$i]['date'] = date($format, strtotime("+{$currDay} days", $time));
          $data[$i]['week'] = $weekname[$i];
      }
      return $data;
  }
/*
   * 获取某星期的开始时间和结束时间
   * time 时间
   * first 表示每周星期一为开始日期 0表示每周日为开始日期
   */
  function getWeekMyActionAndEnd($time = '', $first = 1){
      //当前日期
      if(!$time){
          $time = time();
      }
      $sdefaultDate = date("Y-m-d", $time);
      //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期
      $w = date('w', strtotime($sdefaultDate)); //获取当前周的第几天 周日是 0 周一到周六是 1 - 6
      $days = $w ? $w - $first : 6;   //获取本周开始日期,如果$w是0,则表示周日,减去 6 天
      $week_start = date('Y-m-d', strtotime("{$sdefaultDate} -{$days} days"));
      $week_end = date('Y-m-d', strtotime("{$week_start} +6 days"));   //本周结束日期
      return array("week_start" => $week_start, "week_end" => $week_end);
  }


群贤毕至

访客