Get the "Right" Year of a Certain Date with PHP DateTime -


i trying transform date "yyyy/mm/dd" "yyyy/ww" format, can store weekly aggregation data, has structure below

aggre_date(yyyy/ww)    value    id 

but found nasty problem

$datetime  = new datetime("2014-12-30"); echo $datetime->format("y-w")."\n"; $datetime  = new datetime("2014-01-01"); echo $datetime->format("y-w")."\n"; 

the result same 2014-01, former should 2015-01.

is there way improve weekly aggregation data design or "right" year?

you need use o iso year:

iso-8601 year number. has same value y, except if iso week number (w) belongs previous or next year, year used instead. (added in php 5.1.0)

$datetime  = new datetime("2014-12-30"); echo $datetime->format("o-w")."\n"; $datetime  = new datetime("2014-01-01"); echo $datetime->format("o-w")."\n";  2015-01 2014-01 

demo