正在读取数据,页面载入中,请稍后...

PHP获取周的开始时间和结束时间戳函数

1、根据指定时间获取所在周的起始时间和结束时间

<?php
/**
* @param data 日期
*/
function get_weekinfo_by_time($date) {
    $idx = strftime("%u", strtotime($date));
    $mon_idx = $idx - 1;
    $sun_idx = $idx - 7;
    return array(
      'week_start_day' => strftime('%Y-%m-%d', strtotime($date) - $mon_idx * 86400),
      'week_end_day' => strftime('%Y-%m-%d', strtotime($date) - $sun_idx * 86400),
      );
}
?>

2、通过时间戳获取某周的开始时间和结束时间

<?php
/**
* @param time 时间
* @param first 表示每周星期一为开始日期 0表示每周日为开始日期
*/
function getWeekMyActionAndEnd($time = '', $first = 1)
{
  //当前日期
  if (!$time) $time = time();
  $sdefaultDate = date("Y-m-d", $time);
  //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期
  //获取当前周的第几天 周日是 0 周一到周六是 1 - 6
  $w = date('w', strtotime($sdefaultDate));
  //获取本周开始日期,如果$w是0,则表示周日,减去 6 天
  $week_start = date('Y-m-d', strtotime("$sdefaultDate -" . ($w ? $w - $first : 6) . ' days'));
  //本周结束日期
  $week_end = date('Y-m-d', strtotime("$week_start +6 days"));
  return array("week_start" => $week_start, "week_end" => $week_end);
}
?>

本文结束