zoukankan      html  css  js  c++  java
  • php获取一年中某一周的开始和结束时间

    PHP来获取一年中的每星期的开始日期和结束日期的代码

    函数get_week()通过传入参数$year年份,获取当年第一天和最后一天所在的周数,计算第一周的日期,通过循环获取每一周的第一天和最后一天的日期。最后返回是一个数组。
    想得到指定周数的开始日期和结束日期,比如2011年第18周的开始日期和结束日期,代码如下:

    $weeks = get_week(2011); 
    echo '第18周开始日期:'.$weeks[18][0].''; 
    echo '第18周结束日期:'.$weeks[18][1];
    

    函数如下:

    /**
     * 获取某年的每周第一天和最后一天
     * @param  [int] $year [年份]
     * @return [arr]       [每周的周一和周日]
     */
    function get_week($year) {
        $year_start = $year . "-01-01";
        $year_end = $year . "-12-31";
        $startday = strtotime($year_start);
        if (intval(date('N', $startday)) != '1') {
            $startday = strtotime("next monday", strtotime($year_start)); //获取年第一周的日期
        }
        $year_mondy = date("Y-m-d", $startday); //获取年第一周的日期
    
        $endday = strtotime($year_end);
        if (intval(date('W', $endday)) == '7') {
            $endday = strtotime("last sunday", strtotime($year_end));
        }
    
        $num = intval(date('W', $endday));
        for ($i = 1; $i <= $num; $i++) {
            $j = $i -1;
            $start_date = date("Y-m-d", strtotime("$year_mondy $j week "));
    
            $end_day = date("Y-m-d", strtotime("$start_date +6 day"));
    
            $week_array[$i] = array (
                str_replace("-",
                ".",
                $start_date
            ), str_replace("-", ".", $end_day));
        }
        return $week_array;
    }
    

      

  • 相关阅读:
    C#中IPAddress转换成整型int
    没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
    VB.NET或C#报错:You must hava a license to use this ActiveX control.
    c#几种随机数组和数组乱序
    C#封装的websocket协议类
    VB生成条形码(EAN-13)
    VB控件间的拖放
    VB用API模拟截屏键PrintScreen
    VB读写进程的内存
    几个VB常见又内涵的错误
  • 原文地址:https://www.cnblogs.com/bluealine/p/10243120.html
Copyright © 2011-2022 走看看