javascript - JS 如何像计时器一样减去时间(包括毫秒)

标签 javascript html datetime

我是新来的,我正在尝试为自己编写一些代码。

在这段代码中我确实有自己的“时钟”。然后我指定一个确切的时间。

然后我想从我在实际时间(如计时器或倒计时)之前指定的确切时间中减去毫秒。

但是我真的不知道怎么办。

这是我到目前为止的代码:

<!DOCTYPE html>
<html>
<head>
<title>DSTimer</title>
</head>
<body>
<center><font face="Verdana" size="40">DS-Timer</font><br /></center>
<br />
<br />
<font size="+7" </font>
<p id="DS-Timer">getElementById</p>
<font size="-1" </font>
<p id="ABC"></p>
<font size="+1" </font>
    <label class="h2" for="delay">Verbindungszeit zum Server</label>
    <input type="number" name="Verbindungszeit zum Server" id="delay" maxlength="3">
    <button onclick="addDelay()" type="submit">OK</button>    

<p> <label for="Abschickzeitpunkt">Abschickzeitpunkt</label>
    <input type="time" step="0.001" id="ABZ">
    <button onclick="insert()" type="submit">OK</button></p>        

    <button type="reset">Eingaben zurücksetzen</button>

</form>
</body>
<script>
var delay = 0;
timer();
function timer() {
    var now = new Date();

    var test = new Date(now.getTime() + delay),
        h = test.getHours(),
        m = test.getMinutes(),
        s = test.getSeconds(),
        ms = test.getMilliseconds();

    m = zeroFill(m);
    s = zeroFill(s);
    ms = zeroFill(ms);
    document.getElementById('DS-Timer').innerHTML = h + ':' + m + ':' + s + ':' + ms;
    setTimeout(timer, 5);
}
function zeroFill(filler) {
    filler = (filler < 10 ? '0' : '') + filler;
    return filler;
}
function addDelay() {
    var d = document.getElementById('delay').value;
    delay = parseFloat(d);
}
function insert() {
    var x = document.getElementById("ABZ").value
    document.getElementById("ABC").innerHTML = x;  
}    
</script>
</html>```

So I want to calculate "DS-Timer - ABC".

最佳答案

您可以在大多数现代 Javascript 引擎中使用性能接口(interface)。

let start = performance.now();
let timer = document.getElementById("timer");
for(let i = 0;i<5000;i++){
  timer.innerText = i;
}
let end = performance.now();
let elapsed = end - start;
timer.innerText += " that took "+elapsed+" ms"
<h1 id="timer"></h1>

在这里阅读更多相关信息: Performance Interface

关于javascript - JS 如何像计时器一样减去时间(包括毫秒),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58983270/

相关文章:

javascript - 使用 AngularJS 从数组中添加值

javascript - 在输入字段中单击时,菜单下拉列表中的表单不会保留 - Bootstrap 3

javascript - 无法让 JSFiddle 工作

html - Logo 中的相对位置不起作用

mysql - 将sql中的多个epoch时间一起转换为日期

c# - 比较可为空的日期时间

r - 根据时间在R中绘制数据

javascript - 适应(求解)复杂方程的算法(隐函数 f(x,y) )

javascript - 使用 jQuery 和回调函数覆盖 javascript 警报/确认

javascript - Android 应用程序 Phonegap 上的 CSS 无法正常工作