Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mencipta Objek Tarikh JavaScript dengan Zon Waktu Tertentu Tanpa Menggunakan Perwakilan Rentetan?
Dalam aplikasi web, adalah perkara biasa untuk mengumpul maklumat tarikh dan masa daripada pengguna melalui lungsur turun atau medan input. Walau bagaimanapun, mencipta objek Tarikh JavaScript dengan nilai berangka boleh mengakibatkan isu zon waktu, terutamanya apabila data disiri dan dinyahsiri.
Pertimbangkan kod berikut:
new Date(xiYear, xiMonth, xiDate);
Kod ini mencipta objek Tarikh berdasarkan tahun, bulan dan tarikh yang ditentukan. Walau bagaimanapun, ia menganggap zon waktu semasa pengguna, yang boleh menyebabkan percanggahan jika aplikasi menggunakan zon waktu yang berbeza.
Untuk mencipta objek Tarikh dalam zon waktu tertentu tanpa menggunakan perwakilan rentetan, ikuti langkah berikut:
Buat objek Tarikh daripada Nilai UTC:
const utcDate = new Date(Date.UTC(xiYear, xiMonth, xiDate));
Tetapkan zon waktu yang diingini:
utcDate.setUTCHours(utcDate.getUTCHours() + timezoneOffset);
Di mana zon waktuOffset adalah perbezaan antara zon waktu pengguna dan UTC (dalam jam).
Sebagai contoh, jika zon waktu pengguna ialah GMT 01:00 dan tarikh yang dikehendaki ialah 5 April:
const xiYear = 2023; const xiMonth = 3; // April is 0-indexed const xiDate = 5; const timezoneOffset = 1; const utcDate = new Date(Date.UTC(xiYear, xiMonth, xiDate)); utcDate.setUTCHours(utcDate.getUTCHours() + timezoneOffset); console.log(utcDate.toLocaleString()); // Output: "Apr 5, 2023, 2:00:00 AM GMT+01:00"
Pendekatan ini memastikan bahawa Objek tarikh dibuat dalam zon waktu yang diingini tanpa bergantung pada perwakilan rentetan atau kod verbose.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Objek Tarikh JavaScript dengan Zon Waktu Tertentu Tanpa Menggunakan Perwakilan Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!