Autor | Zpráva | ||
---|---|---|---|
ajda2 Profil |
#1 · Zasláno: 25. 12. 2013, 10:00:00
Dobrý den,
narazil jsem na podivné chování třídy DateTime. Myslím si, že takto by se chovat neměla. Může mi někdo prosím objasnit, zda se jedná o bug, nebo něco nechápu? https://gist.github.com/ajda2/8121368 <?php $year = 2014; $week = 1; $timeZone = new DateTimeZone( 'Europe/Prague' ); $dateTime = new DateTime( 'now', $timeZone ); $dateTime->setISODate($year, $week); echo 'Week: ' . $dateTime->format('W') . '<br>'; // output 1 echo 'Month: ' . $dateTime->format('m') . '<br>'; // output 12 echo 'Year: ' . $dateTime->format('Y') . '<br>'; // output 2013 ?> |
||
Medvídek Profil |
To vypadá, jako že bere week od pondělí, což je ještě prosinec 2013, protože rok 2014 začíná středou.
Pokud si vypíšu takto: echo 'Week: ' . $dateTime->format('o-W') . '<br>'; // output 2014-01 |
||
ajda2 Profil |
#3 · Zasláno: 25. 12. 2013, 11:13:19
Medvídek:
Právě proto, že rok 2014 začíná středou, tak jsem na tento problém narazil. Děkuji za upozornění na parametr formátu 'o'. To jsem přehlídl a v dokumentaci je toto přímo uvedeno. Takže je to moje chyba. Děkuji Medvídku :) |
||
Časová prodleva: 11 let
|
0