Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 时刻js:-获得意外行为_Javascript_Date_Time_Compare_Momentjs - Fatal编程技术网

Javascript 时刻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')

我试图使用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'));
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)
应该可以工作