Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] funkcja date - jak zmienic dni i miesiace
InosU31
post 5.11.2009, 00:06:39
Post #1





Grupa: Zarejestrowani
Postów: 221
Pomógł: 14
Dołączył: 11.03.2009
Skąd: Lubaczów

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


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
Go to the top of the page
+Quote Post
seth-kk
post 5.11.2009, 02:45:17
Post #2





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

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


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?


--------------------
Go to the top of the page
+Quote Post
Nattfarinn
post 5.11.2009, 07:07:24
Post #3





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

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


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

Ten post edytował Nattfarinn 5.11.2009, 09:37:55


--------------------
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
-- R. Pattis
Go to the top of the page
+Quote Post
skowron-line
post 5.11.2009, 09:02:58
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


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' );


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
InosU31
post 5.11.2009, 20:29:24
Post #5





Grupa: Zarejestrowani
Postów: 221
Pomógł: 14
Dołączył: 11.03.2009
Skąd: Lubaczów

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


dzieki koledzy poprobuje;-)

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

Pozdrawiam
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: 14.06.2025 - 05:39