Avatar billede andersthingholm Nybegynder
03. maj 2004 - 22:10 Der er 5 kommentarer og
1 løsning

Find antal måneder

Hej,

Jeg har en funktion som denne, som finder antallet af dage mellem 2 datoer:

Date.prototype.getDayDiff = function(other_date) {
    return Math.ceil(((this.getTime()-other_date.getTime())/(24*60*60*1000)*-1)+1);
};

Jeg vil gerne have en tilsvarende som finder antallet af måneder. Den skal finde antallet af måneder som bliver berørt af de 2 datoer, så 1/1-10/1 -> 1 måned, 1/1-10/2 -> 2 måneder.

Jeg håber at nogen kan hjælpe.

VH

Anders
Avatar billede pyroman Nybegynder
03. maj 2004 - 22:49 #1
Selvf. er der nogen der kan det ;)

Date.prototype.getMonthDiff = function(other_date){
  var yDiff = this.getYear()-other_date.getYear();
  var mDiff = this.getMonth()-other_date.getMonth()+Math.ceil(12*yDiff)+1;
  return mDiff;
}

vupti!
Avatar billede andersthingholm Nybegynder
05. maj 2004 - 10:39 #2
1-4-2004 til 30-7-2004 returnerer -2, så den virker vist ikke helt :-)
Avatar billede pyroman Nybegynder
05. maj 2004 - 16:52 #3
ahh - jamen det er fordi du tager den forkerte dato først... kan godt lave én der virker ligegyldigt rækkefølgen...
Avatar billede pyroman Nybegynder
05. maj 2004 - 16:56 #4
Date.prototype.getMonthDiff = function(other_date){
    var d1 = new Date(Math.max(Number(this), Number(other_date)));
    var d2 = new Date(Math.min(Number(this), Number(other_date)));
    var yDiff = d1.getYear()-d2.getYear();
    var mDiff = d1.getMonth()-d2.getMonth()+Math.ceil(12*yDiff)+1;
    return mDiff;
}

Den burde kunne gøre det :)
Avatar billede andersthingholm Nybegynder
07. maj 2004 - 11:32 #5
Super, smider du et svar?
Avatar billede pyroman Nybegynder
07. maj 2004 - 17:37 #6
Jep selvf. :)!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester