加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-02-25 17:01:50 所属栏目:PHP教程 来源:互联网
导读:本文实例讲述了PHP获取日期对应星期、一周日期、星期开始与结束日期的方法。分享给大家供大家参考,具体如下: /* * 获取日期对应的星期 * 参数$date为输入的日期数据,格式如:2018-6-22 */ function get_week($date) { //强制转换日期格式 $date_str = d
  本文实例讲述了PHP获取日期对应星期、一周日期、星期开始与结束日期的方法。分享给大家供大家参考,具体如下:
 
  /*
   * 获取日期对应的星期
   * 参数$date为输入的日期数据,格式如:2018-6-22
   */
  function get_week($date)
  {
    //强制转换日期格式
    $date_str = date('Y-m-d', strtotime($date));
    //封装成数组
    $arr = explode("-", $date_str);
    //参数赋值
    //年
    $year = $arr[0];
    //月,输出2位整型,不够2位右对齐
    $month = sprintf('%02d', $arr[1]);
    //日,输出2位整型,不够2位右对齐
    $day = sprintf('%02d', $arr[2]);
    //时分秒默认赋值为0;
    $hour = $minute = $second = 0;
    //转换成时间戳
    $strap = mktime($hour, $minute, $second, $month, $day, $year);
    //获取数字型星期几
    $number_wk = date("w", $strap);
    //自定义星期数组
    $weekArr = array("0", "1", "2", "3", "4", "5", "6");
    //获取数字对应的星期
    return $weekArr[$number_wk];
  }
  /**
   * 获取一周日期
   * @param $time 时间戳
   * @param $format 转换格式
   */
  function get_week($time, $format = "Y-m-d") {
    $week = date('w',$time);
    $weekname=array('星期一','星期二','星期三','星期四','星期五','星期六','星期日');
    //星期日排到末位
    if(emptyempty($week)){
      $week=7;
    }
    for ($i=0;$i<=6;$i++){
      $data[$i]['date'] = date($format,strtotime( '+'. $i+1-$week .' 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表示每周日为开始日期
    //获取当前周的第几天 周日是 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);
  } 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读