zoukankan      html  css  js  c++  java
  • 获取某个日期是一年中的第几周

     /**
         * 获取日期是一年中的第几周
         * @param string $date
         * @return float
         */
        public static function getWeeks($date = '') {
            /**
             * 2007年 第一周 是 01-01 到 01 - 07 因为第一天就是星期一 6
             * 2008年 第一周 是 01-01 到 01 - 06 因为第一天就是星期二 5 (闰年多一天)
             * 2009年 第一周 是 01-01 到 01 - 04 因为第一天就是星期四 3
             * 2010年 第一周 是 01-01 到 01 - 03 因为第一天就是星期五 2
             * 2011年 第一周 是 01-01 到 01 - 02 因为第一天就是星期六 1
             * 2012年 第一周 是 01-01 到 01 - 01 因为第一天就是星期天 0
             */
    
            $now_date = $date !== '' ? $date : date('Y-m-d');
    
            // 获取第一天
            $first_date = date('Y',strtotime($now_date)).'-01-01';
            // 获取第一天是周几
            $week_num = array(7, 1, 2, 3, 4, 5, 6);
            $first_date_week = $week_num[date('w',strtotime($first_date))];
    
            $diff_times = strtotime($now_date) - strtotime($first_date);
            $diff_days = MathUtil::div($diff_times , 86400,0) + 1;
            return ceil(($diff_days + $first_date_week - 1) / 7);
    }
    

    Tips:不是1号到7号是第一周。要看1号是周几。

  • 相关阅读:
    android ndk 调试问题
    音频
    文件分割与c语言文件结
    本机抓包
    rtm匹 转
    mac 工具等效率
    【MySQL】Explain Tutorial
    Sed基本入门[5] Sed Hold and Pattern Space Commands
    Sed基本入门[3] Regular Expressions
    Protocol Buffer Basics
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/11281215.html
Copyright © 2011-2022 走看看