javascript - 如何计算不同日期的 24 小时格式的两个时间之间的差异?

标签 javascript google-apps-script

在 JavaScript 中,如何计算具有不同日期的 24 小时格式的两个时间之间的差异?

示例: 日期 1 是 2019/12/31 11:00:06 AM 日期 2 是 2020 年 1 月 1 日下午 01:10:07。 时差应为 hh:MM:ss 格式的 02:10:13 ..当appscript中的日期发生变化时怎么会变成这样

最佳答案

只需使用日期

const dateDiffMs = (date1,date2 ) => {
    const d1 = new Date(date1);
    const d2 = new Date(date2);
    return d1.getTime() - d2.getTime()
}

const ms2hms = (ms) => {
    const sec = Math.floor(ms / 1000)
    const min = Math.floor(sec / 60)
    const h = Math.floor(min / 60)

    return [
        h,
        min % 60,
        sec % 60,
    ];
};

const format = (n) => n < 10 ? '0' + n : n;

const hms2str = ([h, min, sec]) => {
    return `${h}:${format(min)}:${format(sec)}`
}

alert(hms2str(ms2hms(dateDiffMs('2020/01/01 01:10:07 PM', '2019/12/31 11:00:06 AM')))); // 26:10:01

如果 date1 和 date2 位于同一时区,则此代码可以正常工作。但我建议您使用 moment.js 或其他一些库

关于javascript - 如何计算不同日期的 24 小时格式的两个时间之间的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59615798/

相关文章:

javascript - 使用 Chrome 扩展时从弹出窗口获取网页的 document.body

javascript - JavaScript中的CSS函数不做边框动画?

javascript - Rails API - 移动应用程序状态文本错误

javascript - Google 阻止了我的网站 : all *. js 文件被感染。如何找到感染我的 JavaScript 代码的进程?

javascript - 使用 Google 脚本复制页面后,电子表格公式不会更新。我该如何解决这个问题

javascript - 使用 jquery 切换按钮

pdf - 使用 Google Apps 脚本中的自定义页眉或页脚将 Google 表格导出为 PDF

python - 在 Python 中使用 Apps Script Execution API 时出现 404 错误

google-apps-script - 来自另一台服务器的 HTML 和 JavaScript?

javascript - 从 Google Spreadsheet 获取边框值时,如何避免对未定义的值进行多次 try catch (通过使用 if/else 或其他方式)?