gpt4 book ai didi

javascript - 返回 2 个不同日期的小时差

转载 作者:行者123 更新时间:2023-12-03 03:15:09 25 4
gpt4 key购买 nike

好吧,我需要返回两次差额

示例1:

var time1 = "1970-01-01 20:00:00";
var time2 = "1970-01-01 19:00:00";

使用 momentjs 代码:

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

结果没问题:"1:00:00"

但是问题示例是在 2 个不同的日子中的什么时候:

var time1 = "1970-01-01 20:00:00"; //day1
var time2 = "1970-01-01 01:00:00"; //day2

//diference return -18:00:00
//should return 5:00:00

如何返回 2 天差异之间的正确差异。

最佳答案

您需要比较日期才能得出差异。 Moment 内置了用于比较日期的函数:https://momentjs.com/docs/#/query/is-before/

您还可以跳过转换为毫秒,然后转换为小时。 diff 接受第二个参数作为您希望返回的值。https://momentjs.com/docs/#/displaying/difference/

var time1 = "1970-01-01 20:00:00";
var time2 = "1970-01-02 01:00:00";
var timeOne = moment(time1);
var timeTwo = moment(time2);
var hourDiff = (timeOne.isBefore(timeTwo)) ?
timeTwo.diff(timeOne, "hours") :
timeOne.diff(timeTwo, "hours");
var timeOfHourExtra = hourDiff.toString() + ':00:00';
// 5:00:00

关于javascript - 返回 2 个不同日期的小时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46801165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com