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
855 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!

sumber:php.cn
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