Javascript 从特定日期起每24小时增加一个var

Javascript 从特定日期起每24小时增加一个var,javascript,date,increment,Javascript,Date,Increment,我以前从未使用过Javascript(或任何其他编程语言),所以很抱歉问这个问题,因为我确信它非常简单 我想做的是用Javascript设置一个日期,然后每24小时增加一个。因此,在设置日期三天后,3将显示在HTML中(而不是日期本身)。100天后,显示100 谢谢。您必须创建两个日期对象,一个表示初始日期,另一个表示当前日期。然后,计算差值: // Calculate days since Dec 1st 2012 var initialDate = new Date(2012, 11, 1)

我以前从未使用过Javascript(或任何其他编程语言),所以很抱歉问这个问题,因为我确信它非常简单

我想做的是用Javascript设置一个日期,然后每24小时增加一个。因此,在设置日期三天后,3将显示在HTML中(而不是日期本身)。100天后,显示100


谢谢。

您必须创建两个日期对象,一个表示初始日期,另一个表示当前日期。然后,计算差值:

// Calculate days since Dec 1st 2012
var initialDate = new Date(2012, 11, 1); // Attention: month is zero-based
var now = Date.now();
var difference = now - initialDate;
var millisecondsPerDay = 24 * 60 * 60 * 1000;
var daysSince = Math.floor(difference / millisecondsPerDay);
alert(daysSince); // 80

如果要显示页面已打开的天数,请使用setInterval函数:

因此,如果您的HTML元素看起来像
0
,那么您的JS可能会像这样:

var date = 0,
    element = document.getElementById("example");

setInterval(function(){
    date++;
    element.innerText = date;
}, 1000 * 60 * 60 * 24); //milliseconds, seconds, minutes, hours

不过,似乎不太可能有任何页面在很长一段时间内不刷新。如果您需要在页面刷新之后保留日期变量,您可以查看localstorage。

您应该首先了解JavaScript在浏览器沙盒中运行,一旦用户关闭浏览器,您的JavaScript就不可能继续运行,一旦页面重新加载,JavaScript变量将被重置,所以一般来说,在大多数情况下,你从来没有机会看到数字发生变化。您应该找到其他方法来实现您的目标JavaScript必须在某个地方运行(最常见的是在web浏览器中)…假设web浏览器将打开任意长度的时间(或在特定时间)通常是不好的。最好使用一个设计时考虑到这种持久性的作业/服务。您需要学习如何长时间存储数据,然后查看javascript中的日期对象。您可以使用setTimeout函数在固定间隔内执行操作我不认为存储数据很简单,是吗?