Rumah  >  Artikel  >  hujung hadapan web  >  JavaScript menukar masa dunia

JavaScript menukar masa dunia

WBOY
WBOYasal
2023-05-12 18:02:371634semak imbas

Dengan pecutan globalisasi, komunikasi dan kerjasama merentasi zon waktu secara beransur-ansur menjadi kebiasaan. Dalam proses ini, pemahaman yang mendalam tentang prinsip dan kaedah penukaran masa dalam dunia JavaScript adalah kemahiran penting. Dalam artikel ini, kami akan menumpukan pada cara melakukan penukaran masa dunia dalam JavaScript, yang membolehkan anda menguasai kemahiran ini dengan mudah.

1. Konsep masa dunia dalam JavaScript
Masa dunia merujuk kepada masa standard yang digunakan secara seragam di peringkat antarabangsa. Oleh kerana bumi dibahagikan kepada 24 zon waktu, dan masa dalam setiap zon waktu adalah berbeza, bagi memudahkan komunikasi dan menyatukan operasi perniagaan, masyarakat antarabangsa mengguna pakai Waktu Universal Selaras (UTC) sebagai waktu piawai dunia pada tahun 1986. UTC menggunakan Balai Cerap Greenwich sebagai asalnya dan menambah satu pada masa setiap jam, jadi UTC adalah 8 jam di belakang kebanyakan zon waktu di dunia.

Dalam JavaScript, masa dunia boleh diperolehi melalui objek Tarikh terbina dalam, dan masa dunia boleh ditukar dengan memanggil fungsi yang sepadan.

2. Tukar masa dunia JavaScript kepada waktu tempatan
Apabila kita perlu menggunakan masa dunia untuk operasi, kita selalunya perlu menukar masa dunia kepada waktu tempatan Kaedah operasi khusus adalah seperti berikut:

var utcTime = new Date("2019-12-31T10:30:00Z"); // utc time
var localTime = new Date(utcTime.getTime() + utcTime.getTimezoneOffset() 60 1000) ; // Tukar kepada waktu tempatan

Terangkan kod di atas:

  1. Mula-mula, kami mencipta objek masa UTC, diwakili sebagai Date("2019-12 baharu -31T10:30: 00Z"). Ambil perhatian bahawa apabila menyatakan masa UTC, anda perlu menambah "Z" pada akhir rentetan masa.
  2. Kemudian, dapatkan perbezaan (dalam minit) antara zon waktu semasa dan zon waktu UTC melalui utcTime.getTimezoneOffset() mengembalikan bilangan perbezaan minit antara zon waktu semasa dan UTC, jadi anda juga memerlukan Darab dengan 60*1000 untuk menukar kepada milisaat.
  3. Akhir sekali, gunakan localTime = new Date(utcTime.getTime() + utcTime.getTimezoneOffset() 60 1000) untuk menukar masa UTC kepada waktu tempatan.

Perlu diambil perhatian bahawa perbezaan yang diperolehi oleh getTimezoneOffset() ialah integer positif atau negatif Jika zon waktu sistem lebih awal daripada waktu UTC, hasil penolakan ialah nombor positif, sebaliknya ia adalah nombor negatif.

3. Tukar waktu tempatan JavaScript kepada waktu dunia
Apabila anda perlu menukar waktu tempatan kepada waktu dunia, anda juga boleh mencapai penukaran dengan cara yang sama:

var localTime = new Date(" 2019-12-31T10:30:00"); // Waktu tempatan
var utcTime = new Date(localTime.getTime() - localTime.getTimezoneOffset() 60 1000); / Tukar kepada waktu UTC

Terangkan kod di atas:

  1. Mula-mula, kami mencipta objek masa tempatan, diwakili sebagai Date("2019-12-31T10:30:00" ).
  2. Kemudian, gunakan localTime.getTimezoneOffset() untuk mendapatkan perbezaan (dalam minit) antara zon waktu semasa dan zon waktu UTC Anda juga perlu mendarabkan hasil dengan 60*1000 untuk menukarnya kepada milisaat.
  3. Akhir sekali, gunakan utcTime = new Date(localTime.getTime() - localTime.getTimezoneOffset() 60 1000) untuk menukar waktu tempatan kepada waktu UTC.

Perlu diingatkan bahawa perbezaan yang diperoleh adalah integer positif atau negatif, jadi operasi tambah dan tolak di sini perlu dilakukan mengikut situasi tertentu.

4. Memformat masa dalam JavaScript
Dalam pembangunan sebenar, kita selalunya perlu memformat masa ke dalam rentetan tertentu untuk bacaan atau penghantaran yang lebih baik kepada sistem lain. Dalam JavaScript, anda boleh memformat masa dengan memanggil kaedah objek Tarikh dan menggunakan sintaks pemformatan.

Berikut ialah beberapa sintaks pemformatan dan kegunaan yang biasa digunakan:

%d: mewakili hari dalam bulan (01–31)

%m: mewakili bulan ( 01–31) 12)

%Y: mewakili tahun

%H: mewakili jam (00-23)

%M: mewakili minit

%S: mewakili Saat

%w: Menunjukkan hari dalam seminggu (0-6)

%a: Menunjukkan singkatan hari dalam minggu (Isnin-Jumaat )

Penggunaan adalah seperti berikut:

var now = new Date();
var dateString = now.toLocaleString('cina', { hour12: false } // Tukar ke waktu tempatan
console.log(dateString); / / 2022/12/24 19:26:28

Dalam kod di atas, kami menentukan jenis bahasa sebagai bahasa Cina dengan memanggil fungsi toLocaleString() daripada objek Tarikh, dan hidupkan jam 24 jam (parameter hour12 ditetapkan kepada false ), dan akhirnya mengembalikan rentetan tarikh yang diformatkan.

5. Kesimpulan
Dengan perkembangan pesat Internet, penukaran masa dunia telah menjadi bahagian yang sangat diperlukan dalam kerja harian dan penyelidikan saintifik. Artikel ini memfokuskan pada prinsip dan kaedah penukaran masa dunia dalam JavaScript, termasuk operasi biasa seperti menukar masa dunia kepada waktu tempatan, menukar waktu tempatan kepada masa dunia dan pemformatan masa saya harap ia akan membantu pembaca.

Atas ialah kandungan terperinci JavaScript menukar masa dunia. 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