如何在 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 物件。通過了解每種方法的優缺點,您可以為您的特定情況選擇最佳方法。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP