![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Urzeczony funkcjonalnością, z jaką spotkałem się w serwisie www.rememberthemilk.com (RTM.com) postanowiłem zbudować polski odpowiednik, bo uważam, że jest to bardzo fajna sprawa z punktu widzenia użytkownika wprowadzającego datę w formularzu. Wiadomo, często pojawia się problem z nieprawidłowym formatem daty, jego walidacją czy zmuszaniem użytkownika do podawania daty tak jak wymaga system a nie tak jak użytkownik chce.
To co zobaczyłem na RTM.com, a czego polską wersję pokazuję tu bardzo mi się spodobało. Skoro jest sobota, i chcę w formularzu wpisać datę wydarzenia, które jest w czwartek, muszę się najpierw zastanowić, jaka data w czwartek. RTM.com daje możliwość wpisania "next monday", "next january" itp. Dopiero w razie nierozpoznania wprowadzonej daty prosi o poprawę. Mi się jeszcze takie nierozpoznanie nie trafiło. Do rzeczy: poniższa funkcja przyjmuje dwa opcjonalne parametry: 1. $dateString - ciąg znaków na podstawie jakiego chcemy dostać datę 2. $dateFormat - jak sfrormatowana ma być podawana data (ciąg znaków poprawny dla funkcji date" title="Zobacz w manualu php" target="_manual) Jeżeli żaden z parametrów nie jest podany, zwrócony będzie aktualny timestamp. Jeżeli podany tylko pierwszy parametr, zwrócony będzie timestamp dla podanego ciągu lub info o błędzie Jeżeli podane obydwa parametry, zwracany ciąg zostanie sformatowany zgodnie z parametrem $dateFormat. Funkcja:
Przykład użycia:
wynik (dla czasu 01-12-2006 17:06:41): Kod dziś => 01-12-2006 17:06:41 jutro => 02-12-2006 17:06:41 pojutrze => 03-12-2006 17:06:41 wczoraj => 30-11-2006 17:06:41 przyszła sobota => 02-12-2006 00:00:00 następny wtorek => 05-12-2006 00:00:00 następny tydzień => 08-12-2006 17:06:41 2 lata temu => 01-12-2004 17:06:41 7 miesięcy temu => 01-05-2006 17:06:41 przedwczoraj => 29-11-2006 17:06:41 za rok => 01-12-2007 17:06:41 za 4 minuty => 01-12-2006 17:10:41 za godzinę => 01-12-2006 18:06:41 za 10 minut => 01-12-2006 17:16:41 za 20 sekund => 01-12-2006 17:07:01 za trzy dni => 04-12-2006 17:06:41 za pięć lat => 01-12-2011 17:06:41 za 12 miesięcy => 01-12-2007 17:06:41 Mam nadzieję, że komuś się przyda a wprowadzanie daty stanie się bardziej przyjazne :) pozdr. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 11:23 |