zoukankan      html  css  js  c++  java
  • PHP获取日期对应星期、一周日期、星期开始与结束日期的方法

    本文实例讲述了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(empty($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);
    }
    

      

  • 相关阅读:
    Hibernate表中多对多关系的映射
    Servlet JDBC工具类
    访问gridview中的各类控件
    ASP.NET2.0中Gridview中的内容导出到Excel
    List<T> 分页方式,泛型分页方式
    VS保存和编译问题] 总是出现另一个程序正在使用此文件,进程无法访问
    JS实现DIV的增加和移动
    让Editplus调试PHP程序
    与UpdatePanel控件不兼容的控件
    在Powerdesigner中,根据已有字段的Name值替换Code相同的Name的值
  • 原文地址:https://www.cnblogs.com/bluealine/p/10243109.html
Copyright © 2011-2022 走看看