2016-02-26 52 views
0
var oldDate = moment('Tue May 20 2008 00:00:00 GMT+0530 (IST)'); 
var now = new moment(); 
var years = now.diff(oldDate,'years'); 

在控制台我只得到我能得到年,月,日两个日期之间years.But我想岁,像(7年9个月7天个月?任何帮助如何与moment.js

+0

http://stackoverflow.com/questions/26063882/how-to-get-differen的可能的复制ce-between-dates-in-years-months-and-days-using-moment-js – SLePort

+0

看看这里http://momentjs.com/docs/#/displaying/difference/ –

回答

1

东西这样吗?

// gets a human formatted date difference string: "X years, Y months, Z days" 
 
function momentDiff(oldDate, newDate) { 
 
    var oldDateMoment, newDateMoment, numYears, numMonths, numDays; 
 

 
    oldDateMoment = moment(oldDate); 
 
    newDateMoment = moment(newDate); 
 

 
    numYears = newDateMoment.diff(oldDateMoment, 'years'); 
 
    oldDateMoment = oldDateMoment.add(numYears, 'years'); 
 
    numMonths = newDateMoment.diff(oldDateMoment, 'months'); 
 
    oldDateMoment = oldDateMoment.add(numMonths, 'months'); 
 
    numDays = newDateMoment.diff(oldDateMoment, 'days'); 
 

 
    return numYears + " years, " + numMonths + " months, " + numDays + " days."; 
 
} 
 

 
document.addEventListener('DOMContentLoaded', function() { 
 
    var getDiffButton = document.querySelector('#getDiff'); 
 

 
    getDiffButton.addEventListener('click', function() { 
 
    var oldDate = document.querySelector('#oldDate').value; 
 
    var newDate = document.querySelector('#newDate').value; 
 

 
    var answerDiv = document.querySelector('#answer'); 
 
    // call the function with two dates 
 
    answerDiv.innerHTML = momentDiff(oldDate, newDate); 
 
    }); 
 
});
<script src="http://momentjs.com/downloads/moment.js"></script> 
 
<label for="oldDate">Old Date</label> 
 
<input type="date" id="oldDate" name="oldDate" /> 
 
<br/> 
 
<label for="newDate">New Date</label> 
 
<input type="date" id="newDate" name="newDate" /> 
 
<br/> 
 
<button id="getDiff">Get Diff</button> 
 
<br/> 
 
<div id="answer"></div>

+0

非常感谢cobberboy – satheeshreddy