gpt4 book ai didi

javascript - 倒计时器,具有动态日期

转载 作者:太空宇宙 更新时间:2023-11-04 16:01:59 25 4
gpt4 key购买 nike

我正在编写一个倒计时器,它将在每天早上 11 点重置,而我打电话的日期是动态的,意味着日期每天都会改变。一些我如何正确编码的方法有时会显示正确的倒计时,但当我在 Windows 系统上随机检查它时,通常会显示 NAN NAN 。 enter image description here

下面是我的代码 -

<div class="countdown">
<span>DEAL TIME LEFT : </span>
<p id="demo"></p>
</div>
<script>

var currentDate = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
var day = currentDate.getDate();
var month = currentDate.getMonth() + 1;
var year = currentDate.getFullYear();
//alert(year);
// Set the date we're counting down to
var countDownDate = new Date(day+" "+month+" "+year+", 11:00:00").getTime();

// Update the count down every 1 second
var x = setInterval(function() {

// Get todays date and time
var now = new Date().getTime();

// Find the distance between now an the count down date
var distance = countDownDate - now;

// Time calculations for days, hours, minutes and seconds
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
document.getElementById("demo").innerHTML = hours + " : "
+ minutes + " : " + seconds;

// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
</script>

即使我已经检查过,警报(日),警报(月),警报(年)所有这些都是正确的,但我仍然收到“NAN,NAN”错误>.

最佳答案

您遇到了问题

var countDownDate = new Date(day+" "+month+" "+year+",  11:00:00").getTime();

Date 构造函数无法解析您的字符串,并且 .getTime() 返回 NaN

而不是使用字符串。您可以使用 Date 构造函数的其他参数。

new Date(year, month[, date[, hours[, minutes[, seconds[, milliseconds]]]]]);

var countDownDate = new Date(year, month, day,11).getTime();

<div class="countdown">
<span>DEAL TIME LEFT : </span>
<p id="demo"></p>

</div>
<script>

var currentDate = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
var day = currentDate.getDate();
var month = currentDate.getMonth() ;
var year = currentDate.getFullYear();
//alert(year);
// Set the date we're counting down to

var countDownDate = new Date(year, month, day,11).getTime();

// Update the count down every 1 second
var x = setInterval(function() {

// Get todays date and time
var now = new Date().getTime();

// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
document.getElementById("demo").innerHTML = hours + " : "
+ minutes + " : " + seconds;

// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
</script>

关于javascript - 倒计时器,具有动态日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42200915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com