Javascript 如何利用时刻扣除24小时内的时间

Javascript 如何利用时刻扣除24小时内的时间,javascript,momentjs,Javascript,Momentjs,我的用例非常简单,如何在24小时内扣除当前时间。从技术上讲,它就像snapchat,24小时后它将消失,因此我需要扣除时间 11:50 PM - 10 Jan 2017 我只想将当前时间扣除到下一个24小时的时间 (10:50 PM - 11 Jan 2017) - (11:50 PM 10 Jan 2017) = 1 hour left 在Moment.js中我该如何做这样的事情?您可以添加-24小时。看 要显示相对时间,您可以使用是的,您应该使用moment.js查看这里 事实上,你可

我的用例非常简单,如何在24小时内扣除当前时间。从技术上讲,它就像snapchat,24小时后它将消失,因此我需要扣除时间

11:50 PM - 10 Jan 2017
我只想将当前时间扣除到下一个24小时的时间

(10:50 PM - 11 Jan 2017) - (11:50 PM 10 Jan 2017) = 1 hour left

在Moment.js中我该如何做这样的事情?

您可以添加
-24小时。看


要显示相对时间,您可以使用

是的,您应该使用moment.js查看这里

事实上,你可以扣除像这样的日期之间的时间

var start = moment("10:50 PM - 11 Jan 2017");
var end = moment("11:50 PM 10 Jan 2017");
start.from(end); // "1 hour"

我认为这将有助于你:

//要减去的有效格式

moment().subtract(String, Number);
moment().subtract(Number, String); // 2.0.0
moment().subtract(String, String); // 2.7.0
moment().subtract(Duration); // 1.6.0
moment().subtract(Object);
//简单的例子

var myString = "03:15:00",
    myStringParts = myString.split(':'),
    hourDelta: +myStringParts[0],
    minuteDelta: +myStringParts[1];


date.subtract({ hours: hourDelta, minutes: minuteDelta});
date.toString()
阅读有关矩js解析的文档

这也许行得通。它在JSFIDLE中确实有效


这并不能回答提问者的问题。OP说他们已经在使用Moment.js了,他们在问他们如何使用它来做一些具体的事情,而不是他们是否应该使用它。对不起,我没听清楚。所以你只想比较两个日期之间的时间?你的问题有些模糊。您能再添加一些示例并包含您尝试的代码吗?@pzp我添加了更多解释谢谢您的帮助,但您的代码似乎不起作用。我很困惑。问题出在哪里?你可以在2021年使用substract
矩(this.currentDate)。subtract(24,'hours')
来代替
.add(-24)
。现在只为人们使用subtract
矩(this.currentDate)。subtract(24,'hours')
var myString = "03:15:00",
    myStringParts = myString.split(':'),
    hourDelta: +myStringParts[0],
    minuteDelta: +myStringParts[1];


date.subtract({ hours: hourDelta, minutes: minuteDelta});
date.toString()
var dt = moment("12:15 AM", ["h:mm A"]).format("HH:mm");