如何克隆一个Date对象?

2020/09/25 04:41 · javascript ·  · 0评论

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

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

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

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中成功测试。

本文地址:http://javascript.askforanswer.com/ruhekelongyigedateduixiang.html
文章标签:
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!