首頁  >  文章  >  web前端  >  javascript 時間戳記datetime

javascript 時間戳記datetime

WBOY
WBOY原創
2023-05-15 19:38:061072瀏覽

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() 方法接受兩個參數:

  • 第一個參數指定地區(locale)程式碼,這裡我們用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:html錯誤頁面下一篇:html錯誤頁面