如何在 JavaScript 中克隆 Date 物件?


在本教程中,我們將學習如何在 JavaScript 中克隆Date物件。我們可以建立一個新的Date類物件,其中包含根據使用者需求的日期和時間。有時,需要複製日期,這意味著克隆它。在這種情況下,使用者可以使用下面給出的不同方法。

此外,在本教程中,我們還將學習如何在克隆的日期中設定新的時間和日期。

使用 Date.getTime() 方法克隆日期

使用者可以簡單地建立 Date 類的新的物件,並使用getTime()方法獲取自1970年1月1日以來的毫秒總數。當我們將毫秒總數作為引數傳遞給 Date() 類建構函式時,它會根據該毫秒數生成日期和時間,並返回新的日期物件。

語法

我們可以遵循以下語法使用getTime()方法克隆日期。

let current_date = new Date();
let clone_Date = new Date( current_date.getTime() );

引數

  • current_date.getTime() − 它是自1970年1月1日開始以來舊日期的毫秒總數。

示例

在下面的示例中,我們使用 Date 類的建構函式建立了新的日期物件。我們使用Date.getTime()方法建立了原始日期的克隆日期。

<html> <head> </head> <body> <h2> Clone a date object using JavaScript. </h2> <h4> Cloning the date using <i> Date.getTime() </i> method. </h4> <p id = "validate"> </p> <script> let validate = document.getElementById("validate");
// taking the current date let current_date = new Date(); let clone_Date = new Date( current_date.getTime() ); validate.innerHTML += " The old date is : " + current_date + "<br/>"; validate.innerHTML += " The cloned date is : " + clone_Date + "<br/>"; </script> </body> </html>

在上面的輸出中,使用者可以看到舊日期和克隆日期是相同的。

使用 Date.valueOf() 方法

Date.valueOf()方法也是日期類的一種方法,它返回自第一個紀元開始以來的毫秒總數。我們可以使用valueOf()方法查詢舊日期的毫秒總數,並將其作為引數傳遞給新的 Date 物件。

語法

使用者可以遵循以下語法使用 Date.valueOf() 方法克隆日期。

let current_date = new Date();
let clone_Date = new Date( current_date.valueOf() );

示例

在下面的示例中,我們建立了新的日期物件以獲取當前日期。此外,我們還使用了valueOf()方法克隆了日期,使用者可以在輸出中看到兩個日期是相同的。

<html> <head> </head> <body> <h2> Clone a date object using JavaScript. </h2> <h4> Cloning the date using <i> Date.valueOf()</i> method. </h4> <p id = "validate"> </p> <script> let validate = document.getElementById("validate");
// taking the current date let old_date = new Date(); let new_Date = new Date( old_date.valueOf() ); validate.innerHTML += " The old date is : " + old_date + "<br/>"; validate.innerHTML += " The new date is : " + new_Date + "<br/>"; </script> </body> </html>

將自定義日期設定為克隆日期

使用者已經學習瞭如何將日期從一個日期克隆到另一個日期並建立它的副本。現在,我們將學習如何將年份、月份或日期設定為克隆日期。我們可以簡單地使用日期類的不同方法。

使用者可以遵循以下語法使用日期類的不同方法來更改克隆日期的年份、月份或日期。

語法

let date = new Date();
let new_date = new Date( date.valueOf() );
new_date.setFullYear( Year ); // set new Year
new_date.setMonth( Month ); // set new Month
new_date.setDate( Date ); // set new Date

引數

  • 年份 − 這是使用者想要為克隆日期設定的新年份。

  • 月份 − 這是克隆日期的新月份,以字串格式表示,範圍為 0 到 11。

  • 日期 − 它設定月份中的某一天。

示例

在下面的示例中,我們克隆了日期,並將新年份、月份和日期設定為克隆日期。使用者可以看到在設定新值後克隆日期和新日期之間的區別。

<html> <head> </head> <body> <h2> Clone a date object using JavaScript. </h2> <h4> Change the date and time in cloned date using <i> Date class </i> methods. </h4> <p id = "validate"> </p> <script> let validate = document.getElementById("validate"); // taking the current date let current_date = new Date(); let clone_Date = new Date(current_date.valueOf()); validate.innerHTML += " The old date is : " + current_date + "<br/>"; validate.innerHTML += " The cloned date is : " + clone_Date + "<br/>"; clone_Date.setFullYear("2021"); clone_Date.setMonth("02"); clone_Date.setDate("3"); validate.innerHTML += " After settings the custom year, month, and date to cloned date is : " + clone_Date + "<br/>"; </script> </body> </html>

在本教程中,我們學習瞭如何使用 Date 類的 getTime() 和 valueOf() 方法克隆日期。此外,我們還在教程的最後一節學習瞭如何為日期設定新值。

更新於:2022年8月17日

2K+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.