Di MySQL, Anda dapat mengonversi nilai datetime antara satu zona waktu ke zona waktu lainnya menggunakan CONVERT_TZ()
fungsi. Fungsi ini menerima 3 argumen; nilai datetime, zona waktu asli, dan zona waktu yang akan dikonversi.
Sintaks dan contoh di bawah.
Sintaks
Berikut sintaksnya:
CONVERT_TZ(dt,from_tz,to_tz)
Dimana dt
adalah tanggal/waktu, from_tz
adalah zona waktu asli, dan to_tz
adalah zona waktu yang akan dikonversi.
Contoh
Berikut ini contoh penggunaannya.
SELECT CONVERT_TZ('2020-12-01 01:00:00','+00:00','+08:00') AS Result;
Hasil:
+---------------------+ | Result | +---------------------+ | 2020-12-01 09:00:00 | +---------------------+
Zona Waktu Bernama
Anda juga dapat menggunakan zona waktu bernama, seperti 'US/Eastern'
, 'Europe/Moscow'
, 'MET'
, dll.
Untuk melakukan ini, Anda harus menyiapkan tabel zona waktu terlebih dahulu. Prosedur instalasi MySQL membuat tabel zona waktu, tetapi tidak memuatnya. Oleh karena itu, Anda harus mengisi tabel ini terlebih dahulu.
Jika Anda mencoba menggunakan zona waktu bernama dengan fungsi ini tanpa terlebih dahulu mengisi tabel zona waktu, Anda akan mendapatkan nilai nol.
SELECT CONVERT_TZ('2020-12-01 01:00:00','Europe/Helsinki','US/Eastern') AS Result;
Hasil:
+--------+ | Result | +--------+ | NULL | +--------+
Perhatikan bahwa meskipun Anda mengisi tabel zona waktu, Anda mungkin perlu memperbaruinya secara berkala. Hal ini karena informasi kadang-kadang dapat berubah. Untuk informasi lebih lanjut tentang ini, lihat Dukungan Zona Waktu Server MySQL di situs web dokumentasi MySQL.