我可以使用moment.js或纯js获得两个日期之间的差异。在moment.js中var a = moment(timestamp1);var b = moment(timestamp2);var month =a.diff(b, 'month');var day =a.diff(b, 'day') - month;var year =a.diff(b, 'hours');月返回月,日返回天差。但是我想要答案MM-DD-hh格式例如2个月12天5小时。我无法直接转换日期,因为还有leap年等其他问题。还有什么其他办法可以全力以赴并计算一切吗?我在angular js中这样做,如果有帮助
3 回答
ITMISS
TA贡献1871条经验 获得超8个赞
var date1 = new Date("4/14/2016");
var date2 = new Date("10/16/2016");
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var newDate = new Date(timeDiff);
alert(newDate);
alert("Month " + (newDate.getUTCMonth() + 1));
alert("Date " + newDate.getUTCDate());
alert("Hour " + newDate.getUTCHours());
红颜莎娜
TA贡献1842条经验 获得超12个赞
您无法将差异(差异结果是数字)转换为MM-DD-hh格式,因为某些月份的长度为30天,而另一些月份的长度为31天。
可以从开始和结束日期时间计算得出。
您正在寻找类似的功能,但不完全相同
moment("2010-01-01").from("2010-12-01")
结果:一年前
moment("2010-01-01").from("2010-12-01", true)
结果:一年
添加回答
举报
0/150
提交
取消