kolko dni mal minuly mesiac ?? v PHP

Programovacie jazyky, rady, poradňa...
etel
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 232
Registrovaný: 16 okt 2006, 10:37
Kontaktovať používateľa:

kolko dni mal minuly mesiac ?? v PHP

Príspevok od používateľa etel »

ako zistim kolko dni mal minuly mesiac v php??? ak je maj tak kolko dni mal april ... robim statistiku a je tam moznost statistika za poslednich X dni ... ale musim ratat aj s prelomom mesiacov teda ak si vybere moznost statistiku za poslednich 10 dni a je 5. maja tak este musim vypisat statistiku aj poslednich 5 aprilovych dni ... :?
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

S mojimi "chabimy :D " skusenostami s php by som to spravil nasledovne:
Pomocou funkcie Time by som si urcil aktualny mesiac (1 cislo). Toto cislo by som znizil o 1 a potom pomocou prikazu switch by som urcil, kolko ma dany mesiac dni. (Samozrejme, ze treba zabezpecit, ze 1 minus 1=12 :lol: -Teda pred januarom je december). :)
etel
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 232
Registrovaný: 16 okt 2006, 10:37
Kontaktovať používateľa:

Príspevok od používateľa etel »

ale kazdy mesiac ma iny pocet dni ... a ked tato funkcia ma fungovat napr. 10 rokov tak to vypisem na 10 rokov dopredu ??
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Neviem, čo presne potrebuješ, ale môžeš použiť napr. funkciu strtotime, alebo niečo takéto

Kód: Vybrať všetko

$ts = time();
for ($i = 9; $i >= 0; $i--) {
    echo strftime("%d. %B %Y %H:%M", $ts-24*60*60*$i), "<br>";
}
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

etel napísal:ale kazdy mesiac ma iny pocet dni ... a ked tato funkcia ma fungovat napr. 10 rokov tak to vypisem na 10 rokov dopredu ??
Nie. Ved praveze pouzijes prikaz switch, alebo if. Predstav si, ze v premennej mesiac mas ulozeny aktualny mesiac.

Kód: Vybrať všetko

if (mesiac>1) { mesiac--;} 
else mesiac=12; //tu nacitas, ktory mesiac je predchadzajuci

if ((mesiac==1)||(mesiac==3)||(mesiac==5)||(mesiac==7)||(mesiac==8)||(mesiac==10)||(mesiac==10)){pocet=31;}
else if (mesiac==2){pocet=28; //alebo aj 29 -musis zistit rok podobne ako aj mesiac. Tak zistis, ci je rok priestupny
}else pocet=30;
//edit: tak ... to zrejme vyriesil :oops:
...
Expert
Expert
Príspevky: 157
Registrovaný: 07 apr 2006, 18:13

Príspevok od používateľa ... »

omg

Kód: Vybrať všetko

$pocet = date("t",mktime(0,0,0,date("n")-1,1,date("Y")));
Napísať odpoveď