Javascript从今天算起几天

时间:2012-03-13 13:53:48

标签: javascript html

我想要一个简单的文本框输入过去的日期,然后显示它从今天的日期开始的天数。我已经找到了几个如何使用javascript在你输入的两个日期之间进行操作的例子,但是没有只做一个日期和今天的日期。

要跟踪的当前日期是2010年4月2日,但它会随着时间的推移而改变。

2 个答案:

答案 0 :(得分:1)

如果您不关心闰秒(:)),您可以简单地从当时的日期中减去当前日期,从而获得以毫秒为单位的差异,然后将差额除以金额在一天内适合的毫秒数:

var then = new Date(2010, 03, 02), // month is zero based
    now  = new Date;               // no arguments -> current date

// 24 hours, 60 minutes, 60 seconds, 1000 milliseconds
Math.round((now - then) / (1000 * 60 * 60 * 24)); // round the amount of days
// result: 712

答案 1 :(得分:1)

这是我用于倒数计时器的脚本。你可以拿出你不需要的任何部分来显示一天,时间等。

        

    dateFuture = new Date(2010,2,4,23,59,59);

    function GetCount(){

            dateNow = new Date();
            //grab current date
            amount = dateFuture.getTime() - dateNow.getTime();                
            //calc milliseconds between dates
            delete dateNow;

            // time is already past
            if(amount < 0){
                    document.getElementById('countbox').innerHTML="Now!";
            }
            // date is still good
            else{

                    days=0;hours=0;mins=0;secs=0;out="";

                    amount = Math.floor(amount/1000);//kill the "milliseconds" so just secs

                    days=Math.floor(amount/86400);//days
                    amount=amount%86400;

                    hours=Math.floor(amount/3600);//hours
                    amount=amount%3600;

                    mins=Math.floor(amount/60);//minutes
                    amount=amount%60;

                    secs=Math.floor(amount);//seconds

                    if(days != 0){out += days +" day"+((days!=1)?"s":"")+",<br />";}
                    if(days != 0 || hours != 0){out += hours +" hour"+((hours!=1)?"s":"")+",<br />";}
                    if(days != 0 || hours != 0 || mins != 0){out += mins +" minute"+((mins!=1)?"s":"")+",<br />";}
                    out += secs +" seconds";
                    document.getElementById('countbox').innerHTML=out;

                    setTimeout("GetCount()", 1000);
            }
    }

    window.onload=function(){GetCount();}//call when everything has loaded

    //-->
    </script>

然后调用下面的div显示倒数计时器。

<div id="countbox"><div>