如何查找日期之间的持续时间?

时间:2013-10-30 21:20:00

标签: javascript datetime momentjs

我的日期为 07/24/2012 ,时间为 23:59:59 在单独的变量中。使用moment.js我试图找到它与当前日期之间的天数/小时/分钟。

如何用moment.js完成?

2 个答案:

答案 0 :(得分:3)

假设$date持有" 07/24/2012"并且$time持有" 23:59:59" ...

moment($date + " " + $time, "MM/DD/YYYY HH:mm:ss").fromNow();

+运算符连接形成一个值可以直接解析的值的字符串。

参考:

答案 1 :(得分:1)

moment.js没有提供执行此任务的“直接”方式,因为fromNow喜欢聪明并且喜欢使用humanize;但是(在the moment.js source中使用from作为灵感)我们可以推导a little solution

var whence = moment("2040-11-28")
var remaining = moment.duration(whence.diff(moment()))

然后使用/格式化持续时间(遗憾的是,没有duration.format()可用):

var r = remaining
var str = Math.floor(r.asDays()) + "." + r.hours() + ":" + r.minutes() + ":" + r.seconds()
alert(str)

PaulProgrammer的答案为如何从两个分离值初始获取日期提供了一个很好的解决方案。或者(从Moment.js 2.1.0开始),日期时间可以通过以下方式获得:

var whence = moment(yourDate, "MM/DD/YYYY").add(moment.duration(yourTimeOfDay))