我需要虚拟时间(4 x当前日期和时间)。我已设法显示当前日期和时间的运行时钟,但我的时间不能比当前时间快四倍。
例如,如果当前日期是01-01-2012 00:00:00,则虚拟时间应该是 是01-01-2012 00:00:04
不仅单独的秒数应该成倍增加;当秒数超过59个虚拟秒时,相应的分钟,小时,日期,月份和年份也应该成倍增加。也就是说,时钟应该以我的日期格式每秒增量四秒运行。
请参阅我的页面:http://www.chemfluence.org.in/sample.html
它现在正在运行当前时间。我想要快四倍。
请参阅下面的代码。
<!DOCTYPE html>
<html>
<head>
<script>
function startTime()
{
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
// Add a zero in front of numbers<10
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML =
today.getDate() +
"-" +
(today.getMonth()+1)+"-" +
today.getFullYear() +
" "+h+":"+m+":"+s;
t = setTimeout(function(){startTime()},500);
}
function checkTime(i)
{
if (i<10)
{
i = "0" + i;
}
return i;
}
</script>
</head>
<body onload="startTime()">
<div id="txt"></div>
</body>
</html>
答案 0 :(得分:4)
有一个简单的公式可以确定每个给定时间的虚拟时间,知道两个时间戳和因子:
var virtualOrigin = Date.parse("2012-01-01T00:00:04"),
realOrigin = Date.parse("2012-01-01T00:00:00"),
factor = 4;
function getVirtual(time) {
return new Date( virtualOrigin + (time - realOrigin) * factor );
}
// usage:
var now = new Date(),
toDisplay = getVirtual(now);
答案 1 :(得分:1)
确定当前时间(“START”)(作为时间戳 - 自1970年以来的秒数)
显示时钟时,显示((“CURRENT” - “START”)* 4)+“START”而不是
答案 2 :(得分:0)
您可以{1}}执行1秒钟,然后将4秒添加到当前日期。
(此示例仅将时间记录到控制台,但您可以轻松地将其连接到HTML元素。)
setInterval