繁体   English   中英

setDate方法覆盖原始日期

[英]setDate method overriding original date

我正在使用javascript setDate方法来执行一些日期操作,因为我的originalDate值的值丢失了。 这是我正在尝试的:

var originalDate = new Date();
var newDate = originalDate;
newDate.setDate(15);

我希望setDate()只应更新newDate变量,而不是originalDate。 我怎样才能做到这一点。

谢谢。

您的问题是您正在将originalDate的引用分配给newDate ,因此它们都指向同一Date对象。

另一种可能性

使用Javascript

function cloneDate(dateObject) {
    return new Date(dateObject.valueOf());
}

var originalDate = new Date(),
    newDate = cloneDate(originalDate);

newDate.setDate(15);

console.log(originalDate);
console.log(newDate);

产量

Tue Feb 25 2014 07:13:53 GMT+0100 (CET)
Sat Feb 15 2014 07:13:53 GMT+0100 (CET)

jsFiddle上

这将创建newDate具有相同的值originalDate ,但现在他们是2个不同的对象。

尝试这个

var originalDate = new Date();
var newDate = new Date();
newDate.setDate(15);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM