Cara Mengonversi Tanggal UTC Javascript ke Waktu Bagian Timur
Orang sering menyatakan zona waktu dari seluruh dunia sebagai offset positif atau negatif dari Coordinated Universal Time, atau UTC. UTC adalah standar waktu berdasarkan Waktu Atom Internasional dan dalam penggunaan biasa dianggap setara dengan Greenwich Mean Time (GMT). Dengan menggunakan bahasa skrip JavaScript, Anda dapat dengan mudah mengonversi waktu UTC ke Waktu Bagian Timur.
Langkah 1
Buat instance objek JavaScript Date dengan memanggil konstruktor Date(), meneruskannya sebagai satu-satunya parameter metode UTC() (misalnya, untuk tengah malam pada 1 Januari 2000 waktu UTC, “var fooDay = new Date(Date.UTC(2000) ,0,1,0,0,0,0))”). UTC() adalah metode statis yang mengembalikan jumlah milidetik yang telah berlalu sejak tengah malam 1 Januari 1970 waktu UTC. Sintaksnya adalah Date.UTC(tahun, bulan, hari, jam, menit, detik, milidetik), di mana semua argumen dinyatakan sebagai angka. Tiga argumen pertama diperlukan sedangkan argumen lainnya bersifat opsional. Objek Tanggal ini mewakili waktu yang ingin Anda konversi, dinyatakan dalam waktu lokal Anda.
Langkah 2
Hitung perbedaan waktu dalam milidetik antara waktu UTC dan waktu lokal Anda dan simpan hasilnya dalam sebuah variabel. Untuk menghitung offset lokal Anda, panggil metode getTimezoneOffset() dari objek Date Anda dan kalikan nilai pengembaliannya dengan 60.000 (mis., “var localOffset = fooDay.getTimezoneOffset() * 60000”). Anda mengalikan dengan 60.000 untuk mengubah menit menjadi milidetik (1.000 milidetik dalam satu detik * 60 detik dalam satu menit = 60.000 milidetik).
Langkah 3
Dapatkan nilai UTC dalam milidetik dari objek Date Anda dengan memanggil metode getTime() dan menambahkan nilai kembalian ke offset lokal Anda (mis., “var fooUTC = fooDay.getTime() + localOffset”).
Langkah 4
Buat konstanta untuk mewakili offset Zona Waktu Timur dalam milidetik (mis., “const EAST = 3600000 * -5”). Anda mengalikan dengan 3.600.000 untuk mengubah jam menjadi milidetik (1.000 milidetik dalam satu detik * 60 detik dalam satu menit * 60 menit dalam satu jam = 3.600.000 milidetik), dan Anda mengalikannya dengan -5 karena Waktu Bagian Timur lima jam di belakang waktu UTC.
Buat instance objek Date lain dengan memanggil konstruktor Date(), meneruskannya sebagai satu-satunya parameter jumlah nilai UTC dari objek Date pertama dan konstanta offset Zona Waktu Timur Anda (misalnya, “var barDay = new Date(fooUTC + EAST )"). Objek Tanggal ini mewakili tanggal UTC asli Anda, sekarang dikonversi ke Waktu Bagian Timur.