从特定日期起每24小时增加一次变量

时间:2013-02-19 01:55:07

标签: javascript date increment

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

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

谢谢。

2 个答案:

答案 0 :(得分:3)

您必须创建两个日期对象,一个代表您的初始日期,另一个代表现在。然后,计算差异:

// 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

http://jsfiddle.net/PmYFc/

答案 1 :(得分:0)

如果您要显示页面已打开的天数,您需要使用setInterval函数:https://developer.mozilla.org/en-US/docs/DOM/window.setInterval

因此,如果您的HTML元素看起来像<span id='example'>0</span>,那么您的JS可能如下所示:

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

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

尽管如此,似乎不太可能在任何相当长的时间内任何页面都没有被刷新。如果你需要将日期变量保持在页面刷新之外,你可以查看localstorage。