Autor | Zpráva | ||
---|---|---|---|
dehtak Profil |
#1 · Zasláno: 25. 8. 2010, 14:50:48 · Upravil/a: dehtak
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 |
#2 · Zasláno: 25. 8. 2010, 15:50:14
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 |
#3 · Zasláno: 25. 8. 2010, 15:53:00 · Upravil/a: dehtak
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 |
#4 · Zasláno: 25. 8. 2010, 20:03:43
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; |
||
Časová prodleva: 14 let
|
0