php - setISODate work that way? -


i testing these cases:

$date = new \datetime(); echo($date->format('y.m.d')) . php_eol;  $date->setisodate(2018, 1, 1); echo($date->format('y.m.d')) . php_eol;  $date->setisodate(2019, 1, 1); echo($date->format('y.m.d')) . php_eol;  $date->setisodate(2020, 1, 1); echo($date->format('y.m.d')) . php_eol; 

ouput:

2017.08.17 2018.01.01 2018.12.31 2019.12.30 

i understood show this:

2017.08.17 2018.01.01 2019.01.01 2020.01.01 

why happen?

surely there did not quite understand.

the arguments year, week, dayofweek. php's week starts on monday, , week 1 of year first week has @ least 4 days in january.

in 2018, year starts on monday, week 1 starts on january 1, , that's day 1 of week.

in 2019, year starts on tuesday, week 1 starts on monday, december 31, 2018, , that's day 1 of week.

in 2020, year starts on wednesday, week 1 starts on monday, december 30, 2019, that's day 1 of week.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -