在 javascript 中查找经过的时间

2024-04-18

我是 JavaScript 新手,我正在尝试编写一段代码来计算从用户登录到当前时间所经过的时间。

这是我的代码:-

function markPresent() {
    window.markDate = new Date();
    $(document).ready(function() {
        $("div.absent").toggleClass("present");
    });
    updateClock();
}

function updateClock() {    
    var markMinutes = markDate.getMinutes();
    var markSeconds = markDate.getSeconds();

    var currDate = new Date();
    var currMinutes = currDate.getMinutes();
    var currSeconds = currDate.getSeconds();
    var minutes = currMinutes - markMinutes;
    if(minutes < 0) { minutes += 60; }
    var seconds = currSeconds - markSeconds;
    if(seconds < 0) { seconds += 60; }

    if(minutes < 10) { minutes = "0" + minutes; }
    if(seconds < 10) { seconds = "0" + seconds; }

    var hours = 0;
    if(minutes == 59 && seconds == 59) { hours++; }
    if(hours < 10) { hours = "0" + hours; }

    var timeElapsed = hours+':'+minutes+':'+seconds;
    document.getElementById("timer").innerHTML = timeElapsed;
    setTimeout(function() {updateClock()}, 1000);
}

00:59:59 之前的输出都是正确的,但之后的 O/P 为:

00:59:59 01:59:59 01:59:00 01:59:01 。 。 。 。 01:59:59 01:00:00

我该如何解决这个问题,有没有更有效的方法可以做到这一点? 谢谢。


无意冒犯,但这实在是过度设计了。只需存储脚本首次运行时的开始时间,然后在每次计时器触发时从当前时间中减去该时间。

有很多关于将 ms 转换为可读时间戳的教程,因此这里不需要介绍。

    var start = Date.now();
    
    setInterval(function() {
      document.getElementById('difference').innerHTML = Date.now() - start;
    
      // the difference will be in ms
    }, 1000);
<div id="difference"></div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 javascript 中查找经过的时间 的相关文章

  • React.js 关于监听组件窗口事件的最佳实践

    我根据几个 React js 组件在视口中的位置对它们进行动画处理 如果组件位于视口中 则将不透明度动画设置为 1 如果不在视口中 则将其不透明度动画设置为 0 我正在使用getBoundingClient s top and bottom
  • 如何在javascript中实现deque数据结构?

    我正在用 javascript 学习数据结构 我现在的重点是如何实现双端队列 编辑 从下面的评论中我得到了有关如何实施的有用指示deque based array 有没有一个具体实施的方向deque based object使用类 我明白了
  • 使用 jQuery/JavaScript 提醒特殊字符

    如何在 Javascript jQuery 警报中显示带有特殊字符 例如 的字符串 例如 我想显示一个消息框 价格为 10 欧元 但是当我使用下面的代码时 alert The Price is euro 10 消息框中显示的输出是 The
  • 预计来电次数:>= 1 已接来电次数:0

    我正在学习带有钩子的reactjs表单 现在我想使用jest和enzyme测试提交时的表单 这是我的登录组件 import React from react function Login const email setEmail useSt
  • 在react中读取excel文件

    我正在尝试读取 excel 文件并使用 XLSX 将其转换为 JSON 格式 但无法做到这一点 当文件位于本地计算机上时 任何人都可以建议转换方法吗 通过输入选择您本地机器的 Excel 表 在那之后 您的 Excel 数据将显示为 JSO
  • 在不同窗口的上下文中执行函数?

    假设顶部窗口中有一个功能 例如 function z alert window name 我们还假设该文档中有一个 iframe 同源 顶部窗口中的函数是否可以在另一个窗口的上下文中执行此函数 以便它显示 iframe 的名称而不是顶部窗口
  • 通过排队预加载图像?

    我正在寻找一种预加载特定图像并将其添加到队列中的方法 这是我目前所处的位置 http shivimpanim org testsite imageloader html http shivimpanim org testsite image
  • 如何在 Angular 4 材料的 Stepper 中提交表单

    如何在角材料的步进器中提交表单数据 我正在遵循角材料的示例https material angular io components stepper examples https material angular io components
  • Select2 基本示例不起作用

    我想得到select2使用 symfony2 脚本的库 我正在尝试实现提供的基本示例https select2 github io examples html https select2 github io examples html pa
  • 如何在 d3.scale.ordinal() 中指定域?

    var W 100 var H 200 var data v 4 v 8 v 15 v 16 v 23 v 42 var x d3 scale linear domain 0 max x range 0 W var y d3 scale o
  • Redux 中的排队操作

    我目前遇到的情况是我需要连续运行 Redux Actions 我看过各种中间件 比如 redux promise 看起来不错如果您知道触发根操作 由于缺乏更好的术语 时的连续操作是什么 本质上 我想维护一个可以随时添加的操作队列 每个对象在
  • 如何防止 Ajax/javascript 结果在浏览器中缓存?

    如何防止浏览器缓存Ajax结果 我有事件触发的 Ajax 脚本 仅当浏览器数据被清除时才显示结果 在 IE6 和 Firefox 3 0 10 中测试 随机 URL 可以工作 但它是一种 hack HTTP 内置了应该可以工作的解决方案 尝
  • PapaParse 与 Angular JS

    喜欢 PapaParse 漂亮的 CSV 解析器和解解析器 任何人都可以帮助我将其与 Angular JS 结合起来吗 我喜欢让 PapaParse 以 Angular 方式工作 正在尝试解决方案 实际上我没有做任何花哨的事情来加载它 只需
  • CSS/Javascript 将单词与特定字符对齐

    我如何使用 CSS Javascript 将 html 中的单词与该单词中的任意字符对齐 更改对齐字符的样式 例如使其粗体 以与其他字符形成对比 如本例中所示 对齐和粗体 k e t 和 f stack overflow stack ove
  • Javascript `new` 运算符和原型

    假设我们创建一个名为 Shape 的函数 并在其原型上添加属性 name 和方法 toString var Shape function Shape prototype name Shape Shape prototype toString
  • 双向数据绑定(Angular)与单向数据流(React/Flux)

    上周 我一直在试图弄清楚如何双向数据绑定 Angular https docs angularjs org guide databinding and 单向数据流 React Flux https youtu be i 969noyAM是不
  • 脚本内的角度范围

    我们可以使用脚本标记内范围中定义的角度变量 如下所示 HTML 代码 div div JS CODE function AngularCtrl scope scope user name John 我只是得到 scope 未定义 有人可以帮
  • 有人可以解释以下涉及 Javascript 对象的双重赋值吗?

    这个问题在这里已经有答案了 var foo n 1 var bar foo foo x foo n 2 console log foo n 2 console log bar n 1 x n 2 有人能解释一下第三行发生了什么吗 线路foo
  • 如何使用ajax从服务器接收返回的数据?

    基本上我有一个带有用户名文本框和提交按钮的表单 现在我想要的是 当用户在文本框中输入文本时 它应该获取文本框值并将用户名发送到服务器 以便服务器可以检查该用户名是否被任何其他用户占用 我可以将文本值发送到服务器 但我不知道如何接收回一些数据
  • JavaScript Intellisense 在 Visual Studio 2015 中不起作用

    我知道这个问题在网上以及整个网络上都有很多重复的问题 不幸的是 所提出的建议都不起作用 除了重新安装 VS 15 之外 我已经完成了所有操作 如果我可以帮助的话 我宁愿不这样做 我去过的一个网站 references js 背后的故事 ht

随机推荐

  • Mosquitto 1.4.2 Websocket 支持

    我正在尝试利用 Mosquittos 最近的更新来支持代理中的 websocket 我正在运行 Mosquitto v1 4 2 并将以下几行添加到 mosquitto 配置文件 mosquitto conf 中 listener 1000
  • 如何在 C# WPF 中让主窗口等待新打开的窗口关闭?

    我是 WPF 和 C 的新手 请耐心等待 我有一个主窗口 它打开一个新窗口 现在这个新窗口是一个提示是否覆盖文件的提示 主窗口访问新窗口中的一个公共变量来检查提示的结果 但我无法让主窗口处理等到新窗口关闭 Window1 Win new W
  • 没有 pom.xml 的 Jenkins 的加特林插件

    有没有人尝试过使用加特林插件 https wiki jenkins ci org display JENKINS Gatling Plugin对于詹金斯 但没有maven 我没有 Maven 项目 但我使用终端 bash 脚本 中的 Gad
  • 将事件传递/转发到 Qt 中的子对象

    我正在开发 Qt 应用程序 但在将鼠标事件获取到我想要的位置时遇到问题 这是我所拥有的高级视图 每个级别上还发生其他事情 这些事情决定了视图和场景的需求 App Window QMainWindow View QGraphicsView G
  • Gradle 使用不同的资源和类进行多次战争

    我有一个Java Web项目 我使用Gradle来构建项目 项目结构如下 我想使用 Gradle 构建 2 个 war main war 和 api war wars 结构如下 我已经尝试了很多次来构建这两个战争 但是当 main war
  • 如何检测重叠的圆圈并相应地填充颜色?

    我使用 3 个数组 用于 x y 和半径大小 创建了 5 个具有随机 x 和 y 坐标和半径的圆 但是 我需要圆圈根据它们是否与另一个圆圈重叠来动态改变颜色 因此 如果 5 个圆圈之一根本不重叠 则应将其涂成黑色 重叠的圆圈应为青色 如果两
  • 如何从 cron 运行的脚本运行 gpg?

    我有一个脚本 其中一部分如下所示 for file in ls tar gz do echo encrypting file gpg passphrase file home USER gnupg backup passphrase sim
  • 循环单元格中的值以在文本中替换

    这是之后的下一个问题在 Excel VBA 中循环遍历 Excel 值 https stackoverflow com questions 33699753 replacing a value in a cell with another
  • Face API 超出速率限制

    当我遇到人脸 API 超出速率限制 除了使用之外 时该怎么办Task Delay 1000 我有大约 50 条记录 并在 2 秒内检测 识别 验证 为了identifyasync 我将置信度阈值设置为 0 0f 返回的最大候选数为 50 我
  • 如何在MySQL 8.0.11中重置root密码?

    我实际上丢失了 root 密码 我需要更改它 我按照以下步骤操作 步骤 1 停止 MySQL 服务器进程 步骤 2 使用以下命令启动 MySQL mysqld 服务器 守护进程 skip grant tables 选项 这样就不会提示输入密
  • 计算字符串列表中子字符串的出现次数

    我知道计算列表项的简单出现次数很简单 gt gt gt 1 2 3 4 1 4 1 count 1 3 但我想知道如何做是每次列表条目的子字符串中出现字符串时进行计数 例如 我想看看有多少次foo出现在列表中data data the fo
  • Xcode 4 Interface Builder:如何设置文件所有者

    我定义了 myController h 和 myController m 并继续使用向导创建 myController xib 但是 我无法将 xib 文件中的控件连接到类接口 通常 当我将连接十字线放在文件所有者图标上时 它会显示已声明为
  • 为什么我的 MySQL 数据列中只保存了 64kB 数据?

    我试图将一个很长的文本字符串插入到 MySQL Blob 列中 但 MySQL 只保存了 64kB 的数据 该字符串的长度为 75360 个字符 我正在使用 PHP 连接mysql connect 有任何想法吗 它是 Blob 还是 Tex
  • 在 iOS 中使用触摸绘制水平或垂直线

    我正在开发一个项目 我希望如果用户触摸在水平方向移动 则应绘制水平线 如果用户触摸在垂直方向移动 则应绘制垂直线 请建议一些使用 Swift 的解决方案 我在下面尝试过 但这是自由的 override func touchesBegan t
  • PHP call_user_func 与仅调用函数

    我确信对此有一个非常简单的解释 这有什么区别 function barber type echo You wanted a type haircut no problem n call user func barber mushroom c
  • MVC ASP.NET 地图路由不适用于表单 GET 请求

    In View using Html BeginForm PageName ControllerName FormMethod Get
  • 如何在 C++ 中创建内存泄漏?

    我只是想知道如何使用 C 创建系统内存泄漏 我对此进行了一些谷歌搜索 但没有得到太多结果 我知道在 C 中执行此操作实际上不太可行 因为它是托管代码 但想知道是否有一种简单的方法可以用 C 执行此操作 我只是觉得看看系统因代码编写不正确而受
  • Netbeans - 类没有 main 方法

    我的程序只是一个简单的 System out println 但是netbeans找不到main方法 netbeans 6 7 1和WIN7有冲突吗 有什么可能的错误吗 当您手动移动主类位置时会发生这种情况 因为 Netbeans 不会刷新
  • 如何有条件地跳过 Cucumber 中的场景?

    如何有条件地跳过场景 例如 我希望仅在满足某些条件时才继续某个场景 但如果不存在 我不希望将其注册为失败 这是我遇到的一个问题 我编写的测试是针对一个 UI 该 UI 具有不断变化的 BE 数据库 我目前无法在其中包含静态数据 这意味着有时
  • 在 javascript 中查找经过的时间

    我是 JavaScript 新手 我正在尝试编写一段代码来计算从用户登录到当前时间所经过的时间 这是我的代码 function markPresent window markDate new Date document ready func