php如何获取当前时间是第几周

php获取第几周的方法:首先创建一个PHP示例代码文件;然后定义一个“getWeeks”方法;接着通过date函数获取第一天;最后通过strtotime等函数获取第一天是周几即可。

推荐:《PHP教程》

PHP获取当前日期是一年中的第几周

 /**
     * 获取当前日期是一年中的第几周
     * @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);
}

1 //[PHP]计算当前是教学第几周的函数

2 //function current_week ($date_of_firstday)

3 //功能:返回但前是第几周

4 //参数:$date_of_firstday 默认值为 2006-9-1

5 //参数格式:字符串 2006-9-1 不要出现01、02、03、04

6 //如果2006年9月1日星期四开学,便于计算,将开学那周的周一的日期计为开学日期。

7

8 function current_week ($date_of_firstday='2006-8-28'){

9 //开学第一天的时间戳

10 $year = substr($date_of_firstday,0,4);

11 $month = substr($date_of_firstday,5,1);

12 $day = substr($date_of_firstday,7,2);

13 $time_chuo_of_first_day = mktime(0,0,0,$month,$day,$year);

14 //今天的时间戳

15 $month = date('n'); //获取月 n

16 $day = date('d'); //获取日 d

17 $year = date('Y'); //获取年 Y

18 $time_chuo_of_current_day = mktime(0,0,0,$month,$day,$year);

19 $cha = ($time_chuo_of_current_day-$time_chuo_of_first_day)/60/60/24;

20 $zhou = (int)(($cha)/7 +1);

21 return $zhou;

22 }

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php如何获取当前时间是第几周