Convert number of days into years, months, days

后端 未结 6 812
轮回少年
轮回少年 2021-01-12 06:21

I have two date pickers that calculates the number of days there are between the two dates. At the moment I\'m outputting the number of days (see code below) which is kind o

6条回答
  •  爱一瞬间的悲伤
    2021-01-12 06:59

    This has been answered several times befoore: See https://stackoverflow.com/a/17733753/550198

    You can modify the following method quite easily to suit your purposes:

    today = new Date()
    past = new Date(2010,05,01) // remember this is equivalent to 06 01 2010
    //dates in js are counted from 0, so 05 is june
    
    function calcDate(date1,date2) {
        var diff = Math.floor(date1.getTime() - date2.getTime());
        var day = 1000 * 60 * 60 * 24;
    
        var days = Math.floor(diff/day);
        var months = Math.floor(days/31);
        var years = Math.floor(months/12);
    
        var message = date2.toDateString();
        message += " was "
        message += days + " days " 
        message += months + " months "
        message += years + " years ago \n"
    
        return message
        }
    
    
    a = calcDate(today,past)
    console.log(a) // returns Tue Jun 01 2010 was 1143 days 36 months 3 years ago
    

提交回复
热议问题