Menentukan zon waktu pengguna adalah penting untuk memperibadikan pengalaman mereka dan memaparkan maklumat dengan tepat. Walaupun beberapa kaedah wujud, pendekatan optimum selalunya melibatkan memanfaatkan alamat IP atau pengepala HTTP pengguna.
Pengiraan getTimezoneOffset()/60 menyediakan pengimbangan zon waktu semasa dalam beberapa minit dari UTC. Offset ini menunjukkan sejauh mana masa tempatan anda berada di hadapan ( ) atau di belakang (-) UTC. Sebagai contoh, zon Waktu Timur (ET) di Amerika Utara mempunyai offset -5 jam dari UTC, yang akan diwakili sebagai -300 minit menggunakan getTimezoneOffset()/60.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa offset ini dipengaruhi oleh waktu penjimatan siang (DST) dan mungkin berubah sepanjang tahun. Oleh itu, ia bukan petunjuk yang boleh dipercayai bagi zon waktu khusus pengguna.
Untuk mendapatkan semula zon waktu pengguna secara dinamik menggunakan JavaScript, ikut langkah berikut:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.4/jstz.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var tz = jstz.determine(); // Determines the time zone of the browser client var timezone = tz.name(); //For e.g.:"Asia/Kolkata" for the Indian Time. $.post("url-to-function-that-handles-time-zone", {tz: timezone}, function(data) { //Preocess the timezone in the controller function and get //the confirmation value here. On success, refresh the page. }); }); </script>
Kod ini menggunakan perpustakaan jstz.min.js untuk menentukan nama zon waktu pelanggan (cth., "Asia/Kolkata"). Ia kemudian menghantar maklumat ini ke fungsi bahagian pelayan melalui permintaan AJAX, yang boleh memproses zon waktu dan menetapkannya secara dinamik.
Dengan melaksanakan pendekatan ini, anda boleh memastikan aplikasi anda memaparkan maklumat masa dan tarikh dalam mengikut lokasi pengguna, meningkatkan pengalaman keseluruhan mereka.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Zon Masa Pengguna Secara Dinamik untuk Paparan Maklumat Tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!