Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] funkcja date - jak zmienic dni i miesiace
Forum PHP.pl > Forum > Przedszkole
InosU31
Witam ponownie

mam taki problem i nie wiem jak sie za to zabrac - bo juz kombinuje ale nic z tego nie wychodzi...

Otoz mam formularz i w nim z listy wyboru chce wybierac rok-miesiec-dzien I pozniej te dane przeslac do bazy. Nie wiem jak to mi sie w bazie zapisze takie przeslane dane - bo mam rekord (tam gdzie umieszczam dane) typu date - no ale chialbym w tym formularzu wyswietlic dni jako: 01, 02, 03, 04...itd. Tylko jak probuje przypisac do zmiennej wartosc : 01 to mi sie taka wyswietli, niestety przy dodawaniu (++) 2 juz nie wyglada jak 1 - czyli nie ma zeraz z przodu. Jak przypisze funkcji date():

  1. date('01')
  2. //lub
  3. date(01)


to w pierwszym przypadku pokazuje mi 01 ale 02 juz nie tylko 2 - bez tego zera.

moze ktos podpowiedziec jak sie za to zabrac? ewentualnie czy da sie przekonwertowac taka liczbe z typu int na ten pozadany?

I drugie pytanie odnosnie miesiecy.. jak wiadomo funkcja date wyswietlajaca miesiace pokazuje je po angielsku, w bazie mam znow zapis: 2009-11-04 ...

chialbym na tym formularzu wyswietlic miesiace po polsku ale po przeslaniu do bazy zapisywalo by sie to jako liczby calkowite. Myslalem zeby uzyc do tego tablicy np:

  1. array('styczen' => '01' .... 'grdzien' => '12');
  2.  


i tu moje pytanie... mozna jakos w inny sposob to pozmieniac - jakos przez funkcje date?

pozdrawiam
seth-kk
Ad 1 sprintf() lub zwykly warunek doklejajacy zero do liczb mniejszych niz 10
Ad 2 A dlaczego nie tak:
  1. <option value="1">styczen</option>
  2. <option value="2">luty</option>
  3. <option value="3">marzec</option>
  4. ....

lub podobnie za pomoca innych elementow formularza?
Nattfarinn
Cytat(seth-kk @ 5.11.2009, 02:45:17 ) *
Ad 1 sprintf() lub zwykly warunek doklejajacy zero do liczb mniejszych niz 10

Od takich operacji jest funkcja str_pad(); winksmiley.jpg
  1. setlocale(LC_TIME, 'pl_PL');
  2. echo strftime('%F', time());

@Down: Owszem, jest wiele sposobów smile.gif. Chciałem tylko powiedzieć, że str_pad() to funkcja przeznaczona do takich i tylko takich celów, dająca w tej kwestii nieco większe możliwości smile.gif
skowron-line
Cytat(Nattfarinn @ 5.11.2009, 07:07:24 ) *
Od takich operacji jest funkcja str_pad(); winksmiley.jpg

Jest wiele sposobów na osiągnięcie celu.
Tak jak napisałeś
  1. $liczba = 9;
  2. echo str_pad($liczba, 2, '0', STR_PAD_LEFT);

i sprintf też da radę
  1. echo sprintf( "%02d", '9' );
InosU31
dzieki koledzy poprobuje;-)

Ps. seth-kk o tym drugim pomysle to nie pomyslalem rolleyes.gif

Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.