Date
변수를 다른 변수에 할당 하면 참조가 동일한 인스턴스에 복사됩니다. 이것은 하나를 변경하면 다른 하나가 변경됨을 의미합니다.
실제로 Date
인스턴스를 복제하거나 복사하려면 어떻게 해야합니까?
답변
1970 년 1 월 1 일 00:00:00 ( epoch time ) 이후의 밀리 초 수를 반환 하는 Date 객체의 getTime()
메서드를 사용하십시오 .
var date = new Date();
var copiedDate = new Date(date.getTime());
Safari 4에서는 다음과 같이 쓸 수도 있습니다.
var date = new Date();
var copiedDate = new Date(date);
…하지만 다른 브라우저에서 작동하는지 확실하지 않습니다. (IE8에서 작동하는 것 같습니다).
답변
이것은 가장 깨끗한 접근법입니다
let dat = new Date()
let copyOf = new Date(dat.valueOf())
console.log(dat);
console.log(copyOf);
답변
var orig = new Date();
var copy = new Date(+orig);
답변
간체 버전 :
Date.prototype.clone = function () {
return new Date(this.getTime());
}
답변
이 간단한 할당자가 작동한다는 것을 알았습니다.
dateOriginal = new Date();
cloneDate = new Date(dateOriginal);
그러나 나는 그것이 얼마나 “안전한지”모른다. IE7 및 Chrome 19에서 성공적으로 테스트되었습니다.