MySQL Menukar Dari Satu Zon Masa kepada Yang Lain

Mysql Menukar Dari Satu Zon Masa Kepada Yang Lain



“Zon waktu adalah salah satu konsep kompleks yang perlu ditangani oleh pembangun. Walaupun alat dan pelaksanaan dalam pangkalan data hubungan bertujuan untuk menjadikannya boleh diterima, ia boleh membuktikan mencabar dan kadangkala membawa kepada ralat.

Dalam artikel ini, bagaimanapun, kami akan membincangkan bagaimana anda boleh menukar masa dari satu zon waktu ke zon waktu lain menggunakan MySQL.







Fungsi MySQL Convert_Tz().

Fungsi convert_tz() dalam MySQL membolehkan kami menukar dari satu zon waktu ke zon waktu yang lain. Sintaks fungsi adalah seperti yang ditunjukkan:



CONVERT_TZ ( dt,from_tz,to_tz )


Fungsi ini mengambil nilai datetime untuk ditukar, zon waktu yang anda ingin tukar dan tukar yang anda ingin tukar.



MySQL membolehkan anda menentukan zon waktu sebagai nama atau nilai mengimbangi. Fungsi tersebut kemudiannya akan mengembalikan objek Datetime yang dipilih dalam zon waktu sasaran.





Contoh 1

Di bawah ialah contoh yang menggambarkan cara menukar rentetan masa daripada EST kepada EAT  menggunakan offset zon waktu.

pilih
convert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) sebagai masa1;



Contoh pertanyaan di atas harus mengembalikan output:



| masa1 |
| ------------------- |
| 2022 -08-09 01: 22 : 22 |

Contoh 2

Seperti yang dinyatakan, kita boleh menentukan zon waktu sasaran dengan namanya. Walau bagaimanapun, ini memerlukan anda memuat turun dan memasang MySQL Timezones.

Anda boleh menjalankan arahan di bawah untuk memuatkan zon waktu.

$ mysql_tzinfo_to_sql / usr / kongsi / info zon | mysql -dalam akar -hlm mysql


Jika anda menggunakan fail zon waktu, jalankan arahan:

mysql_tzinfo_to_sql tz_file tz_name | mysql -dalam akar -hlm mysql


Muat turun fail zon waktu dalam sumber di bawah:

https: // dev.mysql.com / muat turun / zon waktu.html


Muatkan fail:

mysql -dalam akar -hlm mysql < nama fail


Anda kemudiannya boleh menentukan zon waktu sasaran dengan nama:

mysql > PILIH CONVERT_TZ ( '10-2022 14:34:00' , 'AS/Timur' , 'AS/Tengah' ) AS masa ;


Pertanyaan di atas harus mengembalikan masa yang ditukar kepada zon waktu sasaran sebagai:

+---------------------+
| masa |
+---------------------+
| 2022 - 10 - 10 13 : 3. 4 :00 |
+---------------------+
1 barisan dalam ditetapkan ( 0.00 sec )

tamat

Dalam catatan pendek ini, kami membincangkan cara menggunakan fungsi convert_tz dalam MySQL untuk menukar masa dari satu zon waktu ke zon waktu yang lain.

Selamat mengekod!!