Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Funkcja strftime + offset czasu na php 526 bug?
grabsoon
post 31.08.2009, 12:12:28
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 1.09.2006

Ostrzeżenie: (0%)
-----


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?
Powód edycji: Dodałem tag. /webdice
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
thek
post 31.08.2009, 12:59:12
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Wiec teraz pomyśl... Ile dni ma sierpień, ile wrzesień a ile październik i powiedz czy istnieje 31 wrzesień winksmiley.jpg Nie istnieje smile.gif Dlatego 31 wrzesień, zgodnie z prawdą zostanie ustawiony na 1 października i stąd masz byka.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
wookieb
post 31.08.2009, 13:44:46
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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.


--------------------
Go to the top of the page
+Quote Post
grabsoon
post 31.08.2009, 14:00:48
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 1.09.2006

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 16:15