
23
SEP
2009
2009
(Polski) PHP Date – Polskie nazwy dni i miesięcy. Funkcje date strftime
Dodano w: PHP | przez Vokiel | 16 Komentarzy »
Sorry, this entry is only available in Polski.
Sorry, this entry is only available in Polski.
Bardzo mi się przydała 2 opcja kiedy, właśnie piszę jedno-plikowy panelik admina z bazą w pliku tekstowym, dla kolegi 🙂
Hmm, fajne ale. No właśnie ale. Mam coś takiego:
Wynik:
Mon01ay, 01 lutego 2010 (01-02-2010) 19:30
Co się dzieje?
Na liście znaków oddzielających poszczególne elementy daty nie było uwzględnionego przecinka. Wystarczy linię 7 zamienić z:
Na poniższy kod i powinno być ok:
Albo zrezygnować z przestarzałej funkcji split i użyć preg_split (jak słusznie zauważył jedre)
Linia 7 po poprawkach (już zaktualizowana w kodzie w treści posta)
dzięki za wstawkę, już się przydała! 🙂
Bardzo dziekuje, swietna funkcja, dziala az milo.
Jak zauważył użytkownik czarodziej na forum cba.pl w tym wątku , moja funkcja w pewnych przypadkach nie zachowywała się poprawnie.
Wynikało to z zastosowania funkcji str_replace, która potrafi ponownie zmienić już zmieniony ciąg. W związku z powyższym należy zamienić linię 16 z głównego listingu.
Zastosowanie poprawionej funkcji:
W treść wpisu została (ponownie) poprawiona.
Dzięki za świetny artykuł i świetną funkcję!!!
W moim przypadku, żeby skrypt działał musiałem poprzedzić backslashem spacje i inne znaki. Tak wygląda mój kawałek kodu, wyświetlający ostatnią datę modyfikacji dokumentu:
Hej! Świetna robota, ale ja zmieniłem funkcję rozbijającą na
str_split
więc rozdzielanie nie jest potrzebne (choć przecież celowe 😉 )
Dodałem jeszcze sobie rzymskie miesiące do converta:
Jako timestamp przyjmuję datę i ją tłumaczę strtotime-em, kiedy nie jest integerem, a jeszcze zaraz przywalę “+1d”, “-2m” – jako timestamp względem dziś :)))
Szaleć to szaleć!! 🙂
Proponuję w linii 7:
if( $pieces = preg_split( '#[:/.\-,\s+]#', $format, NULL, PREG_SPLIT_NO_EMPTY ) )
dzięki czemu będzie np. działać notacja:
dateEx( 'l, j f Y, G:i' )
czyli spacje po przecinkach. Wygląda to o wiele czytelniej, niż string pokropiony przecinkami.
A ogólnie bardzo przydatny snippet, dziękuję serdecznie.
[…] odmieniona. Mamy 21 lipiec 2014 r. A przecież użycie prostego kodu, na przykład z tej strony rozwiązuje problem. Na tej stronie też użyłem szablonu angielskojęzycznego i […]
Bardzo mi się przydało!
Dzięki wielkie!
Mnie zastanawia następująca rzecz. Lokalna maszyna wyświetla prawidłowe nazwy miesięcy przy ustawieniu:
Jednak ten sam kod na serwerze produkcyjnym działa inaczej. Czy istnieje jakiś sposób do zmuszenia PHP i funkcji strftime() to właściwego działania?
Spróbuj użyć:
setlocale(LC_ALL, 'pl_PL.UTF8');
[…] nie odmieniona. Mamy 21 lipiec 2014 r. A przecież użycie prostego kodu, na przykład z tej strony rozwiązuje problem. Na tej stronie też użyłem szablonu angielskojęzycznego […]
Super robota dzięki !!!