PHP获取本周第一天和最后一天示例代码

  //本周的第一天和最后一天

  

复制代码 代码如下:

  $date=new DateTime();

  $date->modify('this week');

  $first_day_of_week=$date->format('Y-m-d');

  $date->modify('this week +6 days');

  $end_day_of_week=$date->format('Y-m-d');

  经过测试modity不知道是用做什么了,于时找了另两个例子

  

复制代码 代码如下:

  //这个星期的星期一

  // @$timestamp ,某个星期的某一个时间戳,默认为当前时间

  // @is_return_timestamp ,是否返回时间戳,否则返回时间格式

  function this_monday($timestamp=0,$is_return_timestamp=true){

  static $cache ;

  $id = $timestamp.$is_return_timestamp;

  if(!isset($cache[$id])){

  if(!$timestamp) $timestamp = time();

  $monday_date = date('Y-m-d', $timestamp-86400*date('w',$timestamp)+(date('w',$timestamp)>0?86400:-/*6*86400*/518400));

  if($is_return_timestamp){

  $cache[$id] = strtotime($monday_date);

  }else{

  $cache[$id] = $monday_date;

  }

  }

  return $cache[$id];

  }

  //这个星期的星期天

  

复制代码 代码如下:

  // @$timestamp ,某个星期的某一个时间戳,默认为当前时间

  // @is_return_timestamp ,是否返回时间戳,否则返回时间格式

  function this_sunday($timestamp=0,$is_return_timestamp=true){

  static $cache ;

  $id = $timestamp.$is_return_timestamp;

  if(!isset($cache[$id])){

  if(!$timestamp) $timestamp = time();

  $sunday = this_monday($timestamp) + /*6*86400*/518400;

  if($is_return_timestamp){

  $cache[$id] = $sunday;

  }else{

  $cache[$id] = date('Y-m-d',$sunday);

  }

  }

  return $cache[$id];

  }