溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何獲取php當(dāng)前時(shí)間是第幾周

發(fā)布時(shí)間:2020-07-30 11:26:22 來源:億速云 閱讀:215 作者:Leah 欄目:編程語言

如何獲取php當(dāng)前時(shí)間是第幾周?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

php獲取第幾周的方法:首先創(chuàng)建一個(gè)PHP示例代碼文件;然后定義一個(gè)“getWeeks”方法;接著通過date函數(shù)獲取第一天;最后通過strtotime等函數(shù)獲取第一天是周幾即可。

PHP獲取當(dāng)前日期是一年中的第幾周

 /**
     * 獲取當(dāng)前日期是一年中的第幾周
     * @param string $date
     * @return float
     */
    public static function getWeeks($date = '') {
        /**
         * 2007年 第一周 是 01-01 到 01 - 07 因?yàn)榈谝惶炀褪切瞧谝?6
         * 2008年 第一周 是 01-01 到 01 - 06 因?yàn)榈谝惶炀褪切瞧诙?5 (閏年多一天)
         * 2009年 第一周 是 01-01 到 01 - 04 因?yàn)榈谝惶炀褪切瞧谒?3
         * 2010年 第一周 是 01-01 到 01 - 03 因?yàn)榈谝惶炀褪切瞧谖?2
         * 2011年 第一周 是 01-01 到 01 - 02 因?yàn)榈谝惶炀褪切瞧诹?1
         * 2012年 第一周 是 01-01 到 01 - 01 因?yàn)榈谝惶炀褪切瞧谔?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]計(jì)算當(dāng)前是教學(xué)第幾周的函數(shù)

2     //function current_week ($date_of_firstday)

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

4     //參數(shù):$date_of_firstday 默認(rèn)值為 2006-9-1

5     //參數(shù)格式:字符串 2006-9-1 不要出現(xiàn)01、02、03、04

6     //如果2006年9月1日星期四開學(xué),便于計(jì)算,將開學(xué)那周的周一的日期計(jì)為開學(xué)日期。

7

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

9         //開學(xué)第一天的時(shí)間戳

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         //今天的時(shí)間戳

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     }

關(guān)于如何獲取php當(dāng)前時(shí)間是第幾周問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI