获取今天的日期并将其设置为倒计时

时间:2017-06-23 12:28:54

标签: javascript

我有一个功能可以减少特定日期/时间的时间。 这是它的代码:

<script type="text/javascript">
var deadline = new Date(Date.UTC(2017,05, 23, 09, 30, 59));
function time_remaining(endtime){
    var t = endtime - new Date();
    var seconds = Math.floor( (t/1000) % 60 );
    var minutes = Math.floor( (t/1000/60) % 60 );
    var hours = Math.floor( (t/(1000*60*60)) % 24 );
    var days = Math.floor( t/(1000*60*60*24) );
    return {'total':t, 'days':days, 'hours':hours, 'minutes':minutes, 'seconds':seconds};
}
function run_clock(id,endtime){
    var clock = document.getElementById(id);

    var days_span = clock.querySelector('.days');
    var hours_span = clock.querySelector('.hours');
    var minutes_span = clock.querySelector('.minutes');
    var seconds_span = clock.querySelector('.seconds');

    function update_clock(){
        var t = time_remaining(endtime);

        days_span.innerHTML = t.days;
        hours_span.innerHTML = ('0' + t.hours).slice(-2);
        minutes_span.innerHTML = ('0' + t.minutes).slice(-2);
        seconds_span.innerHTML = ('0' + t.seconds).slice(-2);

        if(t.total<=0){ clearInterval(timeinterval); document.getElementById('deadline_Container').style.display = "none"; document.getElementById('deadline_Container2').style.display = "block"; }
    }
    update_clock();
    var timeinterval = setInterval(update_clock,1000);
}
run_clock('clockdiv',deadline);
</script>

现在我试图通过获取当前日期来设置日期,并且只将时间(小时,分钟,秒)设置为相同。 所以我得到这样的当前日期:

  <script>
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();

if(dd<10) {
    dd = '0'+dd
} 

if(mm<10) {
    mm = '0'+mm
} 

today = yyyy + ',' + mm + ',' + dd;
document.write(today);
</script>

我已尝试将var today纳入var deadline所以

var deadline = new Date(Date.UTC(today, 09, 30, 59));

但我收到了NaN错误。有人知道怎么做吗?

3 个答案:

答案 0 :(得分:1)

查看Date.UTC方法的文档:

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Date/UTC

您不能使用Date作为方法的第一个参数,因为数字是预期的;)

答案 1 :(得分:1)

这将有效

var deadline = new Date(Date.UTC(yyyy,mm,dd,09, 30, 59));

今天&#34;今天&#34;不适合你:因为今天传递了字符串,它应该在Int中,所以它接受日期格式。

答案 2 :(得分:0)

你是如此接近,一个足够简单的错误

val female = fn ...

此行需要修改以下内容并预先添加新行。

var deadline = new Date(Date.UTC(today, 09, 30, 59));

这将立即为您服务。

您发送到UTC的日期对象的处理信息不会超过所需信息。

刚刚使用了你的变量,所以声明一个没有+1的新变量,所以它正确处理月份为5(6月)。