如何在 TypeScript 中移除日期中的時間?


在使用 TypeScript 的日期物件時,有時需要僅提取日期並從中移除時間元件。這在使用者介面中顯示日期或比較日期時非常有用。在本教程中,我們將探討幾種在 TypeScript 中移除日期時間的方法。

語法

const dateWithoutTime = date.toLocaleDateString();
const dateWithoutTime = date.toISOString().split('T')[0];

以上是兩種不同的 TypeScript 方法移除日期時間的語法。第一種方法使用 toLocaleDateString() 方法。第二種方法使用 toISOString() 方法。

示例 1:使用 toLocaleDateString() 方法

const date = new Date();
const dateWithoutTime = date.toLocaleDateString();
console.log(dateWithoutTime);

toLocaleDateString() 方法返回一個字串,該字串表示 Date 物件在本地時區中的日期部分。它不包含時間部分。預設情況下,它返回格式為“MM/DD/YYYY”(例如,“05/05/2023”)的字串。

輸出

編譯後,它將生成與上面相同的 JavaScript 程式碼。JavaScript 程式碼將產生以下輸出:

5/18/2023

使用此方法的一個好處是它的簡單性。可以透過在 Date 物件上呼叫 toLocaleDateString() 方法輕鬆檢索所需格式的日期。另一個好處是它會自動調整到本地時區,這在處理不同時區的日期時非常有用。

但是,此方法的一個潛在缺點是輸出格式取決於使用者的區域設定。如果您需要以特定格式顯示日期,則可能需要手動格式化字串。

示例 2:使用 toISOString() 方法

const date = new Date();
const dateWithoutTime = date.toISOString().split('T')[0];
console.log(dateWithoutTime);

toISOString() 方法返回一個字串,該字串以 ISO 格式(例如,“YYYY-MM-DDTHH:mm:ss.sssZ”)表示 Date 物件。我們可以使用“T”字元分割此字串以僅獲取日期部分。

var date = new Date();
var dateWithoutTime = date.toISOString().split('T')[0];
console.log(dateWithoutTime);

輸出

編譯後,它將生成與上面相同的 JavaScript 程式碼。JavaScript 程式碼將產生以下輸出:

2023-05-18

此方法的一個優點是輸出格式是標準化的,並且不依賴於使用者的區域設定。這在以特定格式顯示日期時非常有用。此外,ISO 格式被廣泛認可,並且可以被其他系統輕鬆解析。

但是,使用此方法的一個潛在缺點是輸出字串包含時區偏移量,這取決於您的用例,可能是也可能不是必需的。

示例 3:使用 setHours() 方法

const date = new Date();
date.setHours(0,0,0,0);
const dateWithoutTime = date.toDateString();
console.log(dateWithoutTime);

setHours() 方法可用於將 Date 物件的時間元件設定為零。這有效地移除了時間元件,只留下日期。然後使用 toDateString() 方法將 Date 物件轉換為格式為“ddd MMM DD YYYY”(例如,“Thu May 05 2023”)的字串。

var date = new Date();
date.setHours(0, 0, 0, 0);
var dateWithoutTime = date.toDateString();
console.log(dateWithoutTime);

輸出

編譯後,它將生成與上面相同的 JavaScript 程式碼。JavaScript 程式碼將產生以下輸出:

Thu May 18 2023

此方法的一個優點是它比前兩種方法提供了更大的靈活性。使用 setHours(),您可以將任何時間元件設定為零,而不僅僅是小時,如果您還需要移除分鐘或秒,這將非常有用。此外,toDateString() 方法返回一個標準化格式,該格式不依賴於使用者的區域設定。

但是,此方法的一個潛在缺點是使用 setHours() 修改 Date 物件會更改原始物件。如果您需要保持原始 Date 物件不變,則必須使用修改後的值建立一個新的 Date 物件。

結論

總之,在 TypeScript 中有多種方法可以從 Date 物件中移除時間。toLocaleDateString() 方法是最簡單和最直接的方法,但其他方法在某些情況下可能很有用。根據您的具體用例,您可能需要考慮輸出格式、時區或是否需要修改原始 Date 物件。通過了解每種方法的優缺點,您可以為您的特定情況選擇最佳方法。

更新於:2023年9月4日

18K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

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