2016-08-19 1 views
0

Ich bin in der Lage, den Unterschied zwischen zwei Daten in Monaten zu finden, aber meine genaue Anforderung ist, wie viele Monate seit einem bestimmten Datum vergangen sind.Finden Sie Monate seit einem bestimmten Datum

Angenommen, Benutzeranmeldungen am 2. Juli 2016 oder 31. Juli 2016, also 1. August sollte es mich zurückgeben als - 2. Monat, dh Juli und August. Und wenn sich der Benutzer am 2. August 2016 anmeldet und heute am 18. August 2016 ist, sollte er mich zurückgeben. 1

Beachten Sie, dass wir auch die Jahreszählung berücksichtigen möchten, dh wenn das Jahr sich ändert, sollte es mir 13 zählen. 14 usw.

ich habe viele Wege versucht, es herauszufinden, alle Stricke

Antwort

0

Dies sollte genug sein:

date2.getMonth() - date1.getMonth() + (date2.getYear() - date1.getYear())*12 + 1 

Beispiele:

var date1= new Date("2016-07-02"); 
var date2= new Date("2016-08-01"); 
console.log(date2.getMonth() - date1.getMonth() + (date2.getYear() - date1.getYear())*12 + 1); 
> 2 

var date1= new Date("2016-08-02"); 
var date2= new Date("2016-08-18"); 
console.log(date2.getMonth() - date1.getMonth() + (date2.getYear() - date1.getYear())*12 + 1); 
> 1 

var date1= new Date("2015-08-02"); 
var date2= new Date("2016-08-18"); 
console.log(date2.getMonth() - date1.getMonth() + (date2.getYear() - date1.getYear())*12 + 1); 
> 13 
Verwandte Themen