我尝试使用时刻js比较两个日期但获得意外输出: -
var day1 = moment("24-01-2016 19:29","DD-MM-YYYY HH:mm");
var day2 = day1.add('m', 500);
document.writeln(day1.isBefore(day2,'minute'));
output : false (Expected to be true)
document.writeln(day1.isSame(day2,'minute'));
output : true (Don't know why)
我完全糊涂了。我似乎错过了一些东西。
答案 0 :(得分:1)
任何操作方法(包括.add()
)都会改变原始对象。
.add()
:
通过添加时间来突变原始时刻。
您必须首先克隆day1
,然后操纵此克隆
var day2 = day1.clone().add("m", 500);
// or
var day2 = moment(day1).add("m", 500);
答案 1 :(得分:0)
我认为问题在于使用时刻创造了一个对象。由于对象是通过引用传递的,因此day1和amp; day2指的是同一个对象。
因此,
document.writeln(day1.isSame(day2,'minute'));
返回true。