[removed] convert seconds to months

2019-08-03 02:28发布

I am using the following script to do a countdown.

function startCountdown() {
    var countdownDate = new Date("9/13/2013 12:00 AM");
    var currentDate = new Date();
    var dateDifference = new Date(countdownDate - currentDate);
    var seconds = dateDifference.valueOf() / 1000;
    CountBack(seconds);
}

function CountBack(seconds) {
    var DisplayFormat = "DAYS days and HOURS hours";
    DisplayFormat = DisplayFormat.replace("DAYS", (Math.floor(seconds/86400)) % 100000);
    DisplayFormat = DisplayFormat.replace("HOURS", (Math.floor(seconds/3600)) % 24);
    $('span.countdown').html(DisplayFormat);
}

startCountdown();

How can I show the months left too? (I want like: 3 months, 29 days and 3 hours)

Thank you.

1条回答
贪生不怕死
2楼-- · 2019-08-03 02:43

Use this simple nice function. Check out the LIVE DEMO:

var cc = new Date("9/13/2012 12:00 AM"),
    c = new Date();

function timeDifference(d, dd) {
    var hour = 60 * 60 * 1000,
        day = hour * 24,
        month = day * 30,
        ms = Math.abs(d - dd),
        months = parseInt(ms / month, 10);    

    ms = ms - months * month;    
    var days = parseInt(ms / day, 10); 
    ms -= days * day;
    var hours = parseInt(ms / hour, 10);   
    ms -= hours * hour;

    return [
        months + " months",
        days + " days",
        hours + " hours"
    ].join(", ");
};

document.body.innerHTML += timeDifference(cc, c) + "<br />";
查看更多
登录 后发表回答