You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS中两次调用Date.getSeconds()相减返回0问题咨询

问题根本原因

  • getSeconds()方法返回的是0~59的整数秒值,仅代表当前时间的整秒部分,两次new Date()调用的执行间隔极短(通常仅几毫秒),只要没有刚好跨过整秒的时间节点,start和end的整秒值就完全相等,差值自然为0。
  • 单独输出start、end时能看到不同值,是因为单独输出的操作(比如断点调试、分开打印时产生的人为/代码延迟)刚好让两次获取时间的操作跨过了整秒边界,才会出现数值差异,属于偶然情况。

修复方案

如果要统计短时间间隔,建议使用毫秒级时间戳计算,示例代码如下:

function returntime() {
  var start = Date.now();
  // 此处放置需要统计执行时长的业务代码
  var end = Date.now();
  var totaltime = end - start; // 差值单位为毫秒
  document.getElementById("Answer").innerHTML = totaltime;
}

如果确实需要秒级统计结果,可将毫秒差除以1000后取整:
var totaltime = Math.floor((end - start) / 1000);

内容的提问来源于stack exchange,提问作者Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:36:03