2016-02-23 48 views
-1

之间的区别,我有两个日期,在Javascript成为转换日期格式Javascript和计算两个日期

  1. 在格式16-Feb-2016
  2. 格式为26-01-2015

现在我得年数和月使用JavaScript的两个日期的差异

我没有得到如何去做,因为两个日期格式不同。

+0

关于解析日期有很多问题和答案,OP中的格式需要大约3行代码。在几年和几个月中取得成功并非微不足道,我不认为Moment.js能够做到这一点。看看答案[*这里*](http://stackoverflow.com/questions/35504942/how-to-get-the-difference-of-two-dates-in-mm-dd-hh-format- in-javascript/35520995#35520995)(其中包括一个解析器,可以轻松修改以适应这里的格式)。 – RobG

回答

1

将以下代码粘贴到控制台中并检查。希望能帮助到你。

var d1 = "16-Feb-2016"; 
    var d2 = "26-01-2015"; 
    var date1 = new Date(d1); 
    // The date to be formatted in mm-dd-yy 
    var date2 = (d2).split("-"); 
    date2 = date2[1] + "-" + date2[0] + "-" + date2[2]; 
    date2 = new Date(date2); 

    function getDiff(date1, date2) { 
    var monthDiff= (date1.getFullYear()*12)+(date1.getMonth()+1)-(date2.getFullYear()*12)-(date2.getMonth()+1); 
    var diffYear = parseInt(monthDiff/12); 
    var diffMonth = monthDiff%12; 
    return (diffYear + " years, " + diffMonth + " month"); 
    } 

    var difference = getDiff(date1, date2); 
    console.log(difference);