2015-10-22 40 views
-1

我正在尋找一種方法來計算給定年份的PHP的最大週數。由於上一週的數字是以新年的第一個星期四爲準,我不確定如何去做。以PHP計算最大週數

date('W', strtotime($year.'-12-31 23:59:59')); 

也可能已經返回1,如果12月31日是週一,週二或週三。所以我在想,也許這樣做?

date('N', strtotime($year.'-12-31 23:59:59')) <= 3 ? 52 : 53; 

即檢查是否在今年的最後一天是週一,週二或週三,如果是這樣,它52週一年,否則53週一年。不知道這是否是正確的方法。

+7

可能的複製[HTTP: //stackoverflow.com/questions/3319386/php-get-last-week-number-in-year](http://stackoverflow.com/questions/3319386/php-get-last - 週年數) –

+0

Thx,標記爲這樣。 – fritzmg

回答

0

要獲得ISO週數(1-53),用途: -

idate('W', $timestamp) 

或使用: -

$date1 = "2015-12-12"; 
$date = new DateTime($date1); 
$week = $date->format("W"); 
echo "total week: $week"; 

或試試這個: -

date("W", strtotime('2015-12-12')) 
+0

我不想獲取特定日期的ISO周編號。我想獲得特定年份的最大ISO週數。你的解決方案都不會起作用,'日期(「W」,strtotime('2015-12-12'))''會給'50'。但我認爲這是一個錯字,你的意思是'日期(「W」,strtotime('2015-12-31'))' - 但是,這不會工作,因爲這會給'53'和'日期「W」,strtotime('2018-12-31'))例如會給出'01'。 – fritzmg

+0

你可以嘗試** idate ** ??? –

+0

'idate'不會產生不同的結果。查看鏈接的問題以獲取正確的答案。 – fritzmg