Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menjana Rentetan Tarikh ISO 8601 dalam JavaScript?

Bagaimana untuk Menjana Rentetan Tarikh ISO 8601 dalam JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-11-21 16:26:13297semak imbas

How to Generate an ISO 8601 Date String in JavaScript?

Rentetan Tarikh ISO 8601 dalam JavaScript

Apabila bekerja dengan tarikh dalam JavaScript, anda mungkin perlu mengeluarkan tarikh dalam format ISO 8601. Format ini termasuk tahun, bulan, hari, jam, minit dan saat, dan ia berguna untuk pengantarabangsaan dan pertukaran data.

Menggunakan toISOString()

Kebanyakan pelayar moden menyokong kaedah Date.prototype.toISOString() untuk menjana rentetan berformat ISO 8601. Kod berikut menunjukkan penggunaannya:

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

Rentetan termasuk tarikh (2011-12-19), masa (15:28:46) dan saat pecahan (493 milisaat). "Z" pada penghujung menunjukkan bahawa masa adalah dalam UTC.

Mengendalikan Penyemak Imbas Legasi

Jika anda perlu menyokong penyemak imbas lama yang tidak menyokong toISOString() , anda boleh menggunakan polyfill berikut:

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

  }());
}

Dengan polyfill ini, anda boleh menggunakan toISOString() walaupun dalam pelayar yang tidak menyokongnya secara asli.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Rentetan Tarikh 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