Rumah > pangkalan data > tutorial mysql > Adakah Fungsi CONVERT_TZ() MySQL Mengendalikan Masa Penjimatan Siang dan Bagaimana Saya Boleh Menyelesaikan Masalah Zon Masa?

Adakah Fungsi CONVERT_TZ() MySQL Mengendalikan Masa Penjimatan Siang dan Bagaimana Saya Boleh Menyelesaikan Masalah Zon Masa?

Mary-Kate Olsen
Lepaskan: 2024-11-19 20:07:02
asal
914 orang telah melayarinya

Does MySQL's CONVERT_TZ() Function Handle Daylight Saving Time, and How Can I Troubleshoot Time Zone Issues?

MySQL CONVERT_TZ() dengan Pertimbangan Waktu Penjimatan Siang

Soalan 1:

Ya, pemahaman anda betul. CONVERT_TZ() mengambil kira masa penjimatan siang apabila menentukan nama zon waktu. Contohnya, CONVERT_TZ('00:00:00', 'UTC', 'AS/EASTERN') sememangnya akan mengembalikan '19:00:00' pada 1 Januari dan '20:00:00' pada 1 Julai.

Soalan 2:

Tidak, anda tidak perlu sentiasa mengemas kini jadual zon waktu MySQL untuk memastikan zon waktu mengimbangi UTC dikemas kini. MySQL mengemas kini jadual secara automatik apabila peraturan zon waktu berubah.

Soalan 3:

Hasil SELECT CONVERT_TZ('2004-01-01 12:00:00' ,'GMT','MET') yang menghasilkan "NULL" boleh menunjukkan bahawa jadual zon waktu tidak disediakan dengan betul.

Untuk menyemak ini, anda boleh menjalankan pertanyaan berikut:

SELECT CONVERT_TZ(now(),'US/Eastern','US/Central');
Salin selepas log masuk

Jika hasilnya bukan NULL, maka jadual zon waktu disediakan dengan betul.

Pengiraan Offset Zon Waktu Alternatif:

Jika anda tidak mempunyai masa jadual zon ditetapkan, anda masih boleh mengira pengimbangan zon waktu menggunakan pertanyaan berikut:

select utc_timezone() - interval user_timezone_offset_in_hours hour
from userinfo a
where user_id = 999;
Salin selepas log masuk

Walau bagaimanapun, pendekatan ini memerlukan anda mengemas kini secara manual ofset zon waktu pengguna.

Mendapatkan Zon Masa melalui JavaScript:

Untuk aplikasi web, anda boleh mendapatkan zon waktu pengguna melalui JavaScript. Pautan berikut memberikan contoh cara untuk melakukan ini:

[Pengesanan Zon Waktu JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl .DateTimeFormat)

Menggunakan INTERVAL untuk Pengiraan Masa:

Kata kunci INTERVAL membolehkan penambahan dan penolakan nilai masa dengan mudah. Sebagai contoh, pertanyaan berikut menolak 1 hari, 4 jam dan 8 minit daripada masa semasa:

select now() a, now() - interval 1 day + interval 4 hour + interval 8 minute b;
Salin selepas log masuk

Atas ialah kandungan terperinci Adakah Fungsi CONVERT_TZ() MySQL Mengendalikan Masa Penjimatan Siang dan Bagaimana Saya Boleh Menyelesaikan Masalah Zon Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan