JavaScript 是一門強大的腳本語言,它廣泛應用於網頁前端開發和伺服器端程式設計。在 JavaScript 中,時間戳記和日期時間的轉換是十分常見的操作。
時間戳記是指自 1970 年 1 月 1 日 00:00:00 UTC(協調世界時)以來的毫秒數。在 JavaScript 中,可以透過以下程式碼取得當前時間戳記:
var timestamp = new Date().getTime(); // 获取当前时间戳
然而,時間戳記並不直觀,通常需要將其轉換為日期時間格式以便人類理解。 JavaScript 提供了多種方法來進行時間戳記和日期時間之間的轉換。下面我們來分別介紹這些方法。
將時間戳記轉換為日期時間,可以使用 Date
物件的 toLocaleString()
方法。這個方法會根據本機時間傳回一個字串,格式為 yyyy/MM/dd HH:mm:ss
。程式碼如下:
var timestamp = 1626194523854; // 假设时间戳为 2021/07/14 12:15:23.854 var datetime = new Date(timestamp).toLocaleString('zh-CN', {hour12: false}); console.log(datetime); // 输出:2021/7/14 12:15:23
其中,toLocaleString()
方法接受兩個參數:
zh-CN
表示中國。根據地區不同,時間格式會有所不同。 {hour12: false}
表示不使用 12 小時制,而是使用 24 小時制。 這樣,我們就成功將時間戳轉換為了日期時間格式。
將日期時間轉換為時間戳,可以使用 Date
物件的 getTime()
方法。此方法傳回自 1970 年 1 月 1 日 00:00:00 UTC(協調世界時)以來的毫秒數。代碼如下:
var datetime = '2021-07-14T12:15:23.854Z'; // 假设日期时间为 2021/07/14 12:15:23.854 UTC var timestamp = new Date(datetime).getTime(); console.log(timestamp); // 输出:1626292523854
其中,日期時間需要滿足 ISO 8601 標準格式,即 yyyy-MM-ddTHH:mm:ss.sssZ
。在這個格式中,Z
表示時區為 UTC,也可以指定其他時區。
這樣,我們就成功將日期時間轉換為了時間戳記。
雖然以上程式碼看起來簡單易懂,但需要注意的是,每次建立Date
物件會產生一定的效能開銷,特別是在循環中或者頻繁調用時。為了提高效能,我們可以使用一個小技巧,將時間戳緩存為一個變量,只在需要時進行轉換,如下所示:
var timestamp = 1626194523854; // 假设时间戳为 2021/07/14 12:15:23.854 var datetime = null; // 初始值为 null,表示尚未转换 var getDatetime = function() { if (datetime === null) { datetime = new Date(timestamp).toLocaleString('zh-CN', {hour12: false}); } return datetime; }; console.log(getDatetime()); // 输出:2021/7/14 12:15:23
這樣,在第一次呼叫getDatetime()
時,會進行時間戳轉換操作,並將結果快取到datetime
變數中。在後續的呼叫中,直接傳回快取結果即可。這樣做可以避免重複的時間戳轉換操作,提高程式碼效能。
總之,JavaScript 中時間戳記和日期時間之間的轉換非常重要,也很常見。只要我們掌握了正確的轉換方法,並注意程式碼效能,就可以輕鬆應對各種時間轉換需求。
以上是javascript 時間戳記datetime的詳細內容。更多資訊請關注PHP中文網其他相關文章!