grabsoon
31.08.2009, 12:12:28
Witam.
Ponizszy kod:
echo strftime("%B",mktime(0, 0, 0, date("m")+0));
w dniu dzisiejszym tj 31 sierpnia zwraca nazwe miesiaca August czyli poprawnie, natomiast:
echo strftime("%B",mktime(0, 0, 0, date("m")+1));
zwraca w dniu dzisiejszym October zamiast September. W poprzednich dniach nie zaobserwowalem blednego dzialania.
PHP w wersji 5.26 OS FreeBSD 6.2
Co o tym sadzicie?
thek
31.08.2009, 12:59:12
Wiec teraz pomyśl... Ile dni ma sierpień, ile wrzesień a ile październik i powiedz czy istnieje 31 wrzesień

Nie istnieje

Dlatego 31 wrzesień, zgodnie z prawdą zostanie ustawiony na 1 października i stąd masz byka.
wookieb
31.08.2009, 13:44:46
Gdybyś czytał manual to by nie było tematu.
http://pl.php.net/mktime i np ramka "Ostatni dzień miesiąca"
Cytat(grabsoon @ 31.08.2009, 14:42:14 )

Spodziewalem sie poprostu bardziej inteligentnego rezultatu dzialania funkcji mktime z przesunieciem 1 miesiac.
No to właśnie jest inteligentne zachowanie. Tylko nie uzyskałeś prawidłoweg rezultatu bo brakuje ci parametrów.
grabsoon
31.08.2009, 14:00:48
Oczywiście przepraszam za poprzedniego posta. Zgodnie z manualem wystarczy zrobic:
echo strftime("%B",mktime(0, 0, 0, date("m")+1,1));
i juz jest ok. Sorki za zawracanie d*** EOT.