首頁  >  文章  >  web前端  >  如何在 JavaScript 中產生 ISO 8601 日期字串?

如何在 JavaScript 中產生 ISO 8601 日期字串?

Barbara Streisand
Barbara Streisand原創
2024-11-21 16:26:13294瀏覽

How to Generate an ISO 8601 Date String in JavaScript?

JavaScript 中的 ISO 8601 日期字串

在 JavaScript 中處理日期時,您可能需要以 ISO 8601 格式輸出日期。此格式包括年、月、日、時、分、秒,對於國際化和資料交換很有用。

使用 toISOString()

大多數現代瀏覽器支援 Date.prototype.toISOString() 方法來產生 ISO 8601 格式的字串。以下程式碼示範了其用法:

var date = new Date();
date.toISOString(); // "2011-12-19T15:28:46.493Z"

字串包含日期 (2011-12-19)、時間 (15:28:46) 和秒小數部分 (493 毫秒)。結尾的“Z”表示時間採用 UTC 格式。

處理舊版瀏覽器

如果您需要支援不支援toISOString() 的舊版瀏覽器,可以使用下面的polyfill:

if (!Date.prototype.toISOString) {
  (function() {

    function pad(number) {
      var r = String(number);
      if (r.length === 1) {
        r = '0' + r;
      }
      return r;
    }

    Date.prototype.toISOString = function() {
      return this.getUTCFullYear() +
        '-' + pad(this.getUTCMonth() + 1) +
        '-' + pad(this.getUTCDate()) +
        'T' + pad(this.getUTCHours()) +
        ':' + pad(this.getUTCMinutes()) +
        ':' + pad(this.getUTCSeconds()) +
        '.' + String((this.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5) +
        'Z';
    };

  }());
}

有了這個polyfill,你甚至可以使用toISOString()在本身不支援它的瀏覽器中。

以上是如何在 JavaScript 中產生 ISO 8601 日期字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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