Autor | Zpráva | ||
---|---|---|---|
quatzael Profil |
Mám script, který počítá rozdíl mezi daty vyjádřený jako počet dnů. Potřeboval bych to poupravit, aby to vyjadřovalo roky.
Nevíte prosím někdo jak na to? vstupní proměnné jsou ve tvaru dd.mm.yyyy function datediff(x,y){ var xa = x.split(/\D/), ya = y.split(/\D/); var xd = Date.UTC(xa[2], xa[1]-1, xa[0]), yd = Date.UTC(ya[2], ya[1]-1, ya[0]); return (yd - xd)/86400000; } |
||
Chamurappi Profil |
#2 · Zasláno: 11. 12. 2013, 16:29:58
Reaguji na quatzaela:
Kdyby ti stačil rok jako 365.25 dne, tak stačí výsledek dělit tímto číslem.
Jinak se to dělá tak, že odečteš jeden rok od druhého, tento rozdíl si zapamatuješ a přičteš k tomu prvnímu datu, pak obě data zase porovnáš a pokud je první menší než druhé, ubereš od zapamatovaného rozdílu jedničku. |
||
quatzael Profil |
#3 · Zasláno: 11. 12. 2013, 17:05:47
Chamurappi:
„Kdyby ti stačil rok jako 365.25 dne, tak stačí výsledek dělit tímto číslem.“ To právě nestačí.. „...tento rozdíl si zapamatuješ a přičteš k tomu prvnímu datu“ No ale jak přičtu? Je možné k datumu nějak přičíst roky s tím, že bude automaticky ošetřen i přestupný rok? |
||
Chamurappi Profil |
#4 · Zasláno: 11. 12. 2013, 17:13:13
Reaguji na quatzaela:
datum.setYear(datum.getYear() + roky); |
||
quatzael Profil |
#5 · Zasláno: 11. 12. 2013, 17:32:44
Chamurappi:
Díky, to by snad mělo fungovat. |
||
Časová prodleva: 10 let
|
0