首頁 > web前端 > js教程 > 如何在 JavaScript 中產生 ISO 8601 格式的字串?

如何在 JavaScript 中產生 ISO 8601 格式的字串?

Mary-Kate Olsen
發布: 2024-11-29 09:55:10
原創
700 人瀏覽過

How to Generate ISO 8601 Formatted Strings in JavaScript?

在JavaScript 中輸出ISO 8601 格式字串

要渲染ISO 8601 格式字串的「標題」部分,請考慮使用下列方法:

使用toISOString() 方法

JavaScript 的Date物件提供了toISOString() 方法,直接傳回 ISO 8601 格式的字串。

const date = new Date();
const isoString = date.toISOString();
登入後複製

自訂格式函數

如果toISOString() 不可用,可以實作自訂函數產生ISO 8601 個字串:

function isoDate(msSinceEpoch) {
  const d = new Date(msSinceEpoch);
  return (
    d.getUTCFullYear() +
    '-' +
    (d.getUTCMonth() + 1).toString().padStart(2, 0) +
    '-' +
    d.getUTCDate().toString().padStart(2, 0) +
    'T' +
    d.getUTCHours().toString().padStart(2, 0) +
    ':' +
    d.getUTCMinutes().toString().padStart(2, 0) +
    ':' +
    d.getUTCSeconds().toString().padStart(2, 0)
  );
}

console.log(isoDate(Date.now()));
登入後複製

Polyfill toISOString( )

對於不支援toISOString()的瀏覽器,您可以使用以下填充:

if (!Date.prototype.toISOString) {
  (function() {
    function pad(number) {
      const 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'
      );
    };
  })();
}
登入後複製

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板