我有一个网页,当您单击开始巡逻时,会开始计算您单击按钮后的时间。因为我需要将它存储在服务器(ASP.NET)上,并且因为我想在他们重新加载页面时恢复计数,所以我从服务器获得了两个变量。第一个变量是他们单击开始巡逻按钮的服务器时间。第二个变量是本地时间与服务器时间的偏移量,因此我们 100% 准确地确定了时间量,并且由于本地时间,它不会关闭。以下代码有效,但时间已过。当前本地时间是 19:53,如果此函数运行,它将从“18:00:00”开始,然后上升“18:00:01”、“18:00:02”等...如果本地时间是 20:53 将是“19:00:00”。为什么这个功能会这样做,我该如何纠正这个问题?
巡逻时间当前时间偏移是返回的偏移值(例如:-729)
巡逻时间开始是用户开始巡逻的服务器上的日期和时间(例如:2012 年 4 月 10 日 20:01:13)
function UpdatePatrolTime() {
var patroltimeCurrentTime = new Date();
patroltimeCurrentTime.setTime(patroltimeCurrentTime.getTime() + patroltimeCurrentTimeoffset);
var patroltimeStarted = new Date(patroltimeStart);
var CompareDateTime = new Date((patroltimeCurrentTime.getTime()-patroltimeStarted.getTime()));
currentHours = CompareDateTime.getHours();
currentMinutes = CompareDateTime.getMinutes();
currentSeconds = CompareDateTime.getSeconds();
currentHours = (currentHours < 10 ? "0" : "") + currentHours;
currentMinutes = (currentMinutes < 10 ? "0" : "") + currentMinutes;
currentSeconds = (currentSeconds < 10 ? "0" : "") + currentSeconds;
var currentTimeString = currentHours + ":" + currentMinutes + ":" + currentSeconds
document.getElementById("patroltime").firstChild.nodeValue = currentTimeString;
}
而 <span> 控件:
<span id="patroltime">00:00:00</span>