Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menjana Rentetan Berformat ISO 8601 dalam JavaScript?

Bagaimana untuk Menjana Rentetan Berformat ISO 8601 dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-29 09:55:10696semak imbas

How to Generate ISO 8601 Formatted Strings in JavaScript?

Mengoutput Rentetan Berformat ISO 8601 dalam JavaScript

Untuk memaparkan bahagian "tajuk" rentetan berformat ISO 8601, pertimbangkan untuk menggunakan pendekatan berikut:

Menggunakan Kaedah toISOString()

JavaScript Objek tarikh menyediakan kaedah toISOString(), yang mengembalikan rentetan secara langsung dalam format ISO 8601.

const date = new Date();
const isoString = date.toISOString();

Fungsi Format Tersuai

Jika toISOString() tidak tersedia, anda boleh melaksanakan tersuai berfungsi untuk menjana rentetan 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 untuk toISOString()

Untuk penyemak imbas tanpa sokongan untuk toISOString(), anda boleh menggunakan polyfill berikut:

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'
      );
    };
  })();
}

Atas ialah kandungan terperinci Bagaimana untuk Menjana Rentetan Berformat ISO 8601 dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn