Autor Zpráva
dehtak
Profil
Zdravím,
potřebuji poradit jak vypočítat počet mesíců odečtením dvou dat.
Příklad od 01.02.2010 do 01.01.2011

Jak vypočítam počet dnů to vím. Myslím si že počet mesíců se vypočítá podobně
$rozdil = strtotime($do['m']."-".$do['d']."-".$do['Y']) - strtotime($od['m']."-".$od['d']."-".$od['Y']);
$dnu = round($rozdil / 86400); // spocita pocet dnu


U těch měsíců se to bude určitě dělit jiným číslem.

Díky za odpovědi.
Tori
Profil
dehtak:
86400 == 60*60*24 .... takže pokud počítáte měsíc jako 30 dní, stačí patřičně vynásobit.
dehtak
Profil
takze jsem to vyresil nakonec takto. Protoze mi jde o to ze kdyz nekdo hleda mezi datumy napriklad 30.11.2010 - 01.12.2010 musi to zobrazit 2mesice.
Zobrazi to kalendar s vypisem techto 2 mesicu. Protoze mam tridu kalendare, kde musim zadat kolik mesicu chci zobrazit.
    $pocet_m = $do['m']-$od['m']+1;   
    if ($pocet_m < 0){// pokud je prechod roku treba 30.12.2010 - 02.01.2011 vypocita to -10 mesicu 
    $pocet_m = str_replace("-","",$pocet_m); // odstranim znamenko -
    $pocet_m = 12 - $pocet_m;  //odectu tedy od 12 mesicu 10 a vyjdou mi dva mesice
    } 
Tori
Profil
dehtak:
Aha, tak takhle jste to chtěl :)
Jen poznámka: odstranit znaménko mi připadá jednodušší vynásobit -1.
Případně by se to dalo i zkrátit:
$mesice = $do['m']-$od['m'] + (($do['Y']>$od['Y']) ? ($do['Y']-$od['Y'])*12 : 0) +1;

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0