Pengenalan kepada Tarikh UTC
JavaScript mempunyai beberapa fungsi yang berurusan dengan waktu UTC, tetapi apakah masa UTC? Menurut Balai Cerap Navel Amerika Syarikat, waktu UTC adalah "Waktu Bersama Selaras", skala waktu sivil yang diselaraskan "disimpan oleh makmal waktu di seluruh dunia ... ditentukan dengan menggunakan jam atom yang sangat tepat." Ini adalah kira-kira sama dengan Greenwich Mean Time (GMT), tetapi lebih tepat. Sebilangan negara, seperti Maghribi, Iceland, dan Mali; menggunakan UTC secara langsung sebagai masa sivil mereka. Pada musim sejuk, UTC adalah masa sivil untuk UK. Waktu Sivil AS ditentukan oleh beberapa jam yang ditetapkan dari UTC. Sebagai contoh, Arizona (yang tidak menyimpan Daylight Savings Time) sentiasa UTC + 7. Beijing, zon masa China adalah UTC-8 (kami akan menggunakan ini dalam contoh kami di bawah.)

Kebanyakan kaedah Tarikh JavaScript mempunyai kaedah yang setara yang berkaitan dengan waktu UTC dan bukannya masa tempatan. Sebagai contoh, getHours () mengembalikan jam dalam masa tempatan, sementara getUTCHours () mengembalikan jam dalam waktu UTC. Anda boleh mendapatkan objek Tarikh dalam bentuk boleh dibaca manusia berbanding dengan masa tempatan menggunakan toLocaleString () dan relatif kepada UTC menggunakan toUTCString (). Objek Tarikh JavaScript walaupun mempunyai kaedah bernama UTC. Kaedah UTC () adalah kaedah statik yang digunakan untuk menukarkan tarikh dalam format tertentu kepada milisaat sejak 1 Januari 1970 (berbanding dengan UTC). Anda kemudiannya boleh menggunakan pembina Tarikh () untuk membuat objek Tarikh dengan nilai ini.

Sebagai contoh, China telah mengumumkan bahawa upacara pembukaan Sukan Olimpik 2008 akan diadakan pada 8 Ogos 2008 jam 8:08 malam. Kita boleh menggunakan JavaScript UTC () kaedah untuk mengetahui apabila ini dalam masa tempatan.

var offset = -8; // diasingkan dari UTC
var luckyday = Tarikh baru (Date.UTC (2008,7,8, (20 + offset), 8);
document.write ("Olimpik 2008 bermula pada" + luckyday.toUTCString ());
document.write ("Pada masa tempatan ini" + luckyday.toLocaleString ())

Catatan: Dalam contoh di atas, saya menukar waktu dari Beijing ke UTC dengan menambahkan offset dari UTC ("-8") ke masa Beijing - inilah sebab mengapa argumen 4 dari Date.UTC berbunyi "(20 + offset)" di atas.

Sekiranya anda mempunyai JavaScript tersedia dalam penyemak imbas anda, anda boleh melihat contoh kod hidup ini di sini.


RUJUKAN

Date.UTC ( tahun, bulan [, hari, [jam, [minit, [saat, [milisaat]]]]])

menukarkan tarikh yang diberikan kepada milisaat sejak 1 Januari 1970.

Catatan: semua hujah adalah digit. Seperti biasa dalam JavaScript, sebulan 0 adalah Januari. Jika mana-mana hujah selain tahun adalah bilangan yang lebih besar atau lebih kecil daripada yang mungkin untuk nilai yang diwakilinya, ia digunakan untuk menjejaskan hujah berikutnya yang lebih besar - contohnya, sebulan 13 ditafsirkan sebagai bulan Februari tahun depan dan sebulan -2 ditafsirkan sebagai bulan November tahun sebelumnya.

SUMBER

Balai Cerap Angkatan Laut A.S.. "Masa Universal?" 30 Oktober 2003. Balai Cerap Laut A.S., Jabatan Aplikasi Astronomi. 6 Julai 2007.

Arahan Video: EP 87 : First Time Buat ic Sebab HIlang | UTC Johor Bahru (Mungkin 2024).