给另一个Date变量赋值会将引用复制到相同的实例。这意味着改变一个会改变另一个。

我如何实际克隆或复制一个日期实例?


当前回答

我发现这个简单的作业也可以:

dateOriginal = new Date();
cloneDate = new Date(dateOriginal);

但我不知道它有多“安全”。已在IE7和Chrome 19中成功测试。

其他回答

function cloneMyDate(oldDate){
  var newDate = new Date(this.oldDate);
}

我将oldDate传递给函数并从中生成newDate。oldDate,但是它正在改变这个。oldDate也。所以我使用上面的解决方案,它工作。

我发现这个简单的作业也可以:

dateOriginal = new Date();
cloneDate = new Date(dateOriginal);

但我不知道它有多“安全”。已在IE7和Chrome 19中成功测试。

这是最干净的方法

let date = new date () let copyOfDate = new Date(Date . valueof ()) console.log(日期); console.log (copyOfDate);

简化版:

Date.prototype.clone = function () {
    return new Date(this.getTime());
}

var orig = new Date(); var copy = new Date(+ origin); console.log(源自,复制);