【问题标题】:javascript Difference in 2 Timestamps2个时间戳的javascript差异
【发布时间】:2015-02-15 23:12:08
【问题描述】:

我需要能够在几分钟内获得两个时间戳之间的差异。我需要以每小时的速度乘以差价。我已将差异转换为 ms 并得到差异,但它显示 -1:56:

    var timeIn  = time_in; //2015-02-15 15:53:52
    var TimeOut = time_out; //2015-02-15 15:55:56

    var ms = moment(timeIn,"YYYY-MM-DD HH:mm:ss").diff(moment(TimeOut,"YYYY-MM-DD HH:mm:ss"));
    var d = moment.duration(ms);
    var s = Math.floor(d.asHours()) + moment.utc(ms).format(":mm:ss");

// outputs: Time In: 2015-02-15 15:53:52 Time Out: 2015-02-15 15:55:56 Total: -1:57:56 <--
//desired output: Time In: 2015-02-15 15:53:52 Time Out: 2015-02-15 15:55:56 Total: 1:57:56 (no - 0:01:56 or if it has hours 1:01:56)

我需要向用户输出时差为 0 小时 1 分 57 秒,然后计算每小时的费率。因此,如果费率是 4.00 美元并且时间戳差异是 92 分钟,它将返回要收费的金额,即 6.13 美元。

注意:这可能会超过 24 小时。速率/时间戳是从数据库中提取的,因此因位置而异。

【问题讨论】:

    标签: javascript timestamp duration difference


    【解决方案1】:

    如果您得到负值,请执行此操作

    ...
    var ms = moment(timeIn,"YYYY-MM-DD HH:mm:ss").diff(moment(TimeOut,"YYYY-MM-DD HH:mm:ss"));
    if (ms < 0) ms = -ms;
    ...
    

    【讨论】:

    • 虽然有点效果,但并没有得到想要的结果。
    • 修改后得到了什么结果?
    • 我发现我的 timeIn 和 TimeOut 颠倒了。我纠正了这一点。仍然想弄清楚其他部分。
    猜你喜欢
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 2015-06-27
    相关资源
    最近更新 更多