如何克隆日期对象?

2022-08-29 22:37:55

将变量分配给另一个变量会将引用复制到同一实例。这意味着改变一个会改变另一个。Date

如何实际克隆或复制实例?Date


答案 1

使用 Date 对象的 getTime() 方法,该方法返回自 1970 年 1 月 1 日 00:00:00 UTC(epoch 时间)以来的毫秒数:

var date = new Date();
var copiedDate = new Date(date.getTime());

在 Safari 4 中,您还可以编写:

var date = new Date();
var copiedDate = new Date(date);

...但我不确定这是否适用于其他浏览器。(它似乎在IE8中工作)。


答案 2

这是最干净的方法

let date = new Date() 
let copyOfDate = new Date(date.valueOf())

console.log(date);
console.log(copyOfDate);