Javascript 时刻js:-获得意外行为
我试图使用moment js比较两个日期,但得到了意外的输出:-Javascript 时刻js:-获得意外行为,javascript,date,time,compare,momentjs,Javascript,Date,Time,Compare,Momentjs,我试图使用moment 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')
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)
我完全糊涂了。似乎我遗漏了一些东西。我认为问题在于,利用瞬间创造一个物体。因为对象是通过引用传递的,所以day1和day2都引用同一个对象 所以,
document.writeln(day1.isSame(day2,'minute'));
返回true。任何操纵方法(包括
.add()
)都将改变原始对象
:
通过添加时间来改变原始力矩
您必须首先克隆day1
,然后操作此克隆
var day2 = day1.clone().add("m", 500);
// or
var day2 = moment(day1).add("m", 500);
“通过增加时间来改变最初的时刻。”@Andreas所以我们需要复制第1天?我想是的
var day2=day1.clone()。添加(“m”,500)
应该可以工作