Nyligen fick jag en tacksam uppgift från en kollega på jobbet; en JavaScript-funktion som räknar ut antalet dagar mellan två datum. Det är ingenting jag själv haft behov av att göra med JavaScript, men i PHP är det riktigt rättframt med mktime() och litet lågstadiematte.
Att kunna köra mktime()
i JavaScript är rätt kört, men liknande funktionalitet borde finnas i JavaScript. En snabb koll bekräftade detta; Date objektet innehåller funktionen Date.UTF() som är identisk med PHPs motsvarighet. Det ger oss rum att börja hantera datum.
var start,end,diff,day;
// a day, in seconds.
day = 24*60*60;
// dates to diff.
start = Date.UTC(2009,1,12);
end = Date.UTC(2009,2,14);
// calc diff in seconds.
diff = (end-start)/1000;
// get dff in days.
alert( diff / day ); // 30
Istället för att räkna dag går det lika bra att använda sekunder eller minuter. Då det är millisekunder inblandade finns det gott om utrymme för egen fantasi.