MySQL Mengkonversi Dari Satu Zona Waktu ke Zona Waktu Lainnya

Mysql Mengkonversi Dari Satu Zona Waktu Ke Zona Waktu Lainnya



“Zona waktu adalah salah satu konsep kompleks yang harus dihadapi pengembang. Meskipun alat dan implementasi dalam basis data relasional bertujuan untuk membuatnya dapat ditoleransi, mereka dapat terbukti menantang dan terkadang menyebabkan kesalahan.

Namun, dalam artikel ini, kami akan membahas bagaimana Anda dapat mengonversi waktu dari satu zona waktu ke zona waktu lainnya menggunakan MySQL.”







Fungsi MySQL Convert_Tz()

Fungsi convert_tz() di MySQL memungkinkan kita untuk mengonversi dari satu zona waktu ke zona waktu lainnya. Sintaks fungsi adalah seperti yang ditunjukkan:



CONVERT_TZ ( dt,dari_tz,ke_tz )


Fungsi ini mengambil nilai waktu-tanggal yang akan dikonversi, zona waktu dari mana Anda ingin mengonversi, dan konversi ke mana Anda ingin mengonversi.



MySQL memungkinkan Anda untuk menentukan zona waktu sebagai nama atau nilai offset. Fungsi tersebut kemudian akan mengembalikan objek Datetime yang dipilih di zona waktu target.





Contoh 1

Di bawah ini adalah contoh yang mengilustrasikan cara mengonversi string waktu dari EST ke EAT  menggunakan offset zona waktu.

Pilih
convert_tz ( '2020-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) sebagai waktu1;



Contoh kueri di atas harus mengembalikan output:



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

Contoh 2

Seperti disebutkan, kita dapat menentukan zona waktu target dengan namanya. Namun, ini mengharuskan Anda untuk mengunduh dan menginstal MySQL Timezones.

Anda dapat menjalankan perintah di bawah ini untuk memuat zona waktu.

$ mysql_tzinfo_to_sql / usr / Bagikan / info zona | mysql -di akar -p mysql


Jika Anda menggunakan file zona waktu, jalankan perintah:

mysql_tzinfo_to_sql tz_file tz_name | mysql -di akar -p mysql


Unduh file zona waktu di sumber daya di bawah ini:

https: // dev.mysql.com / unduhan / zona waktu.html


Muat file:

mysql -di akar -p mysql < nama file


Anda kemudian dapat menentukan zona waktu target dengan nama:

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


Kueri di atas harus mengembalikan waktu yang dikonversi ke zona waktu target sebagai:

+---------------------+
| waktu |
+---------------------+
| 2022 - 10 - 10 13 : 3. 4 :00 |
+---------------------+
1 baris di mengatur ( 0.00 detik )

Akhir

Dalam posting singkat ini, kami membahas cara menggunakan fungsi convert_tz di MySQL untuk mengubah waktu dari satu zona waktu ke zona waktu lainnya.

Selamat mengkode!!