javascript 2个时间戳的区别

时间:2015-02-15 23:12:08

标签: javascript timestamp duration difference

我需要能够在几分钟内获得两个时间戳之间的差异。我将需要采取差异并将其乘以每小时的费率。我已将差异转换为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.14美元的费用。

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

1 个答案:

答案 0 :(得分:0)

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

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