2017-01-04 80 views
2

我有這些日期如下:PHP獲取一年給出明年的第一天

2016-12-30 
2016-12-31 
2017-01-01 

用下面的PHP代碼:

$my_date = new DateTime(); 
$my_week = $my_date ->format("W"); 
$my_year = $my_date ->format("Y"); 

我得到這樣的結果:

2016-12-30 -> week 52/year 2016 
2016-12-31 -> week 52/year 2016 
2017-01-01 -> week 52/year 2017 

我需要得到上週對應於2017年的日子的年份。

在我的例子,我需要這樣的:

2017-01-01 -> week 52/year 2016 

(因爲對應於本週根據2016年52 ISO-8601)

我怎麼會用PHP這個數據?

+0

https://en.wikipedia.org/wiki/ISO_week_date – Deep

+0

也許看一看碳庫,它是用於處理/計算時間的PHP日期時間庫。這migth是有用的 – JoeriShoeby

回答

1

要獲得年份和周使用下面的代碼:

<?php 
    $d = new DateTime("2017-01-01"); 
    $res = $d->format('o-\WW-N'); 

    $r = explode('-',$res); 

    echo "week ".$r[1]."/year ".$r[0]; 
?> 

https://eval.in/709321

+0

但我需要得到的一年不是一週 – kurtko

+0

我已經更新了我的答案 – Deep

+0

是的!完美和乾淨 – kurtko