【问题标题】:Adding two durations together with Datejs or Momentjs, and formating them like "HH:mm:ss"将两个持续时间与 Datejs 或 Momentjs 一起添加,并将它们格式化为 "HH:mm:ss"
【发布时间】:2016-12-29 12:54:49
【问题描述】:

我想将 2 个持续时间加在一起,例如: 00:04:00 + 07:23:00 = 07:27:00

    var std_count = "00:06:00";
    var std_create = "07:23:00";

    var time_2 = moment.duration(std_count, "HH:mm:ss");
    var time_3 = moment.duration(std_create, "HH:mm:ss");
    var final = time_2.add(time_3, "HH:mm:ss");

ps。我无法在时刻 js 或日期 js 中找到这种添加。提前致谢。

【问题讨论】:

  • 我就是想不通,我已经更新了我的代码。
  • 这些不是时间,而是持续时间。查看有关持续时间的文档。
  • 知道如何用 momentjs 格式化持续时间吗?

标签: javascript momentjs datejs


【解决方案1】:
    var std_count = "00:04:00";
    var std_create = "07:23:00";
    var final_hours = moment.duration(std_count, "HH:mm:ss").add(std_create, "HH:mm:ss").hours();
    var final_minutes = moment.duration(std_count, "HH:mm:ss").add(std_create, "HH:mm:ss").minutes();
    var final_seconds = moment.duration(std_count, "HH:mm:ss").add(std_create, "HH:mm:ss").seconds();

    var final_calc = final_hours*3600+final_minutes*60+final_seconds;

    alert(moment.duration(final_calc, "seconds").format("HH:mm:ss"));

    Output : "07:27:00"

ps。必须包含 moment.js 和 moment-duration-format.js。

【讨论】:

    【解决方案2】:

    使用包含 time.jsDateJS,您可以利用 TimeSpan 类。

    示例

    var std_count = Date.parse("00:06:00").getTimeOfDay();
    var std_create = Date.parse("07:23:00").getTimeOfDay();
    
    var final = std_count.add(std_create);
    
    final.toString("HH:mm:ss");
    // "07:29:00"
    

    或者你可以在一个链式序列中完成:

    Date.parse("00:06:00")
        .getTimeOfDay()
        .add(Date.parse("07:23:00").getTimeOfDay())
        .toString("HH:mm:ss");
    

    希望这会有所帮助。

    【讨论】:

    • 感谢您的回答,它比我的解决方案更优雅。
    • ps。您可以在 datejs.com 文档或下载页面中包含 time.js。
    • time.js 文件在 .zip 下载包中可用。 code.google.com/archive/p/datejs/downloads。它也曾一度被记录在案,但现在似乎不见了。 GitHub 项目 wiki 应使用文档进行更新。
    • 当我发布评论时,我已经找到了它(从 gi​​thub 复制它),并让它工作。评论只是一个观察。谢谢。
    猜你喜欢
    • 2019-07-13
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 2019-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多