Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Memformat Tarikh JavaScript dalam ISO 8601 dengan Offset Zon Waktu?

Bagaimana untuk Memformat Tarikh JavaScript dalam ISO 8601 dengan Offset Zon Waktu?

Linda Hamilton
Linda Hamiltonasal
2024-11-28 12:28:11295semak imbas

How to Format a JavaScript Date in ISO 8601 with Timezone Offset?

Pemformatan Tarikh ISO 8601 dengan Offset Zon Waktu dalam JavaScript

Artikel ini menangani isu biasa tentang cara memformat tarikh JS dalam ISO Format 8601 dengan offset daripada UTC. Ia bermula dengan membincangkan matlamat memformat URL dalam format yang betul, berdasarkan pengesyoran W3C.

Penyelesaian melibatkan satu siri langkah:

  1. Mendapatkan setempat masa: Fungsi Date() baharu digunakan untuk mendapatkan waktu tempatan dalam format yang diingini (cth., "yyyy-MM-ddThh:mm:ss").
  2. Mengira waktu UTC mengimbangi: Kaedah getTimezoneOffset() dipanggil untuk mengira perbezaan antara waktu tempatan dan UTC. Hasilnya kemudian dibahagikan dengan 60 untuk menyatakan offset dalam jam.
  3. Membina URL: Waktu tempatan dan ofset UTC yang dikira digabungkan untuk membentuk rentetan tempoh, yang mewakili yang diingini Tarikh berformat ISO 8601 dengan zon waktu diimbangi (cth., "2013-07-02T09:00:00-7:00").

Walau bagaimanapun, persoalan timbul tentang cara mengendalikan nilai negatif untuk getTimezoneOffset(). Jawapan yang disediakan menggunakan fungsi pembantu untuk menangani perkara ini:

function toIsoString(date) {
  var tzo = -date.getTimezoneOffset(),
      dif = tzo >= 0 ? '+' : '-',
      pad = function(num) {
          return (num < 10 ? '0' : '') + num;
      };

  return date.getFullYear() +
      '-' + pad(date.getMonth() + 1) +
      '-' + pad(date.getDate()) +
      'T' + pad(date.getHours()) +
      ':' + pad(date.getMinutes()) +
      ':' + pad(date.getSeconds()) +
      dif + pad(Math.floor(Math.abs(tzo) / 60)) +
      ':' + pad(Math.abs(tzo) % 60);
}

Fungsi pembantu ini mengambil tarikh sebagai hujah dan mengembalikan rentetan ISO 8601 yang diformat dengan betul, termasuk mengimbangi zon waktu.

Atas ialah kandungan terperinci Bagaimana untuk Memformat Tarikh JavaScript dalam ISO 8601 dengan Offset Zon Waktu?. 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