Saya pikir ini mungkin berguna:
Ada tiga tempat di mana zona waktu mungkin diatur di MySQL:
Di file "my.cnf" di bagian [mysqld]
default-time-zone='+00:00'
@@ variabel global.time_zone
Untuk melihat nilai apa yang ditetapkan untuk:
SELECT @@global.time_zone;
Untuk menetapkan nilai untuk itu gunakan salah satu:
SET GLOBAL time_zone = '+8:00';
SET GLOBAL time_zone = 'Europe/Helsinki';
SET @@global.time_zone = '+00:00';
(Menggunakan zona waktu bernama 'Eropa / Helsinki' berarti Anda harus memiliki tabel zona waktu yang dihuni dengan benar.)
Ingatlah bahwa itu +02:00
adalah offset. Europe/Berlin
adalah zona waktu (yang memiliki dua offset) dan CEST
merupakan waktu jam yang sesuai dengan offset tertentu.
@@ session.time_zone variabel
SELECT @@session.time_zone;
Untuk mengaturnya gunakan salah satu:
SET time_zone = 'Europe/Helsinki';
SET time_zone = "+00:00";
SET @@session.time_zone = "+00:00";
Keduanya mungkin mengembalikan SISTEM yang berarti bahwa mereka menggunakan zona waktu yang ditetapkan di my.cnf.
Agar nama zona waktu berfungsi, Anda harus mengatur tabel informasi zona waktu Anda perlu diisi: http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html . Saya juga menyebutkan cara mengisi tabel-tabel dalam jawaban ini .
Untuk mendapatkan offset zona waktu saat ini sebagai TIME
SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP);
Ini akan kembali 02:00:00 jika zona waktu Anda adalah +2: 00.
Untuk mendapatkan cap waktu UNIX saat ini:
SELECT UNIX_TIMESTAMP();
SELECT UNIX_TIMESTAMP(NOW());
Untuk mendapatkan kolom cap waktu sebagai cap waktu UNIX
SELECT UNIX_TIMESTAMP(`timestamp`) FROM `table_name`
Untuk mendapatkan kolom waktu UTC sebagai cap waktu UNIX
SELECT UNIX_TIMESTAMP(CONVERT_TZ(`utc_datetime`, '+00:00', @@session.time_zone)) FROM `table_name`
Catatan: Mengubah zona waktu tidak akan mengubah datetime yang disimpan atau stempel waktu , tetapi itu akan menunjukkan datetime yang berbeda untuk kolom stempel waktu yang ada karena mereka disimpan secara internal sebagai stempel waktu UTC dan ditampilkan secara eksternal di zona waktu MySQL saat ini.
Saya membuat lembar contekan di sini: Haruskah MySQL mengatur zona waktunya ke UTC?
ntp
- dan lihat apa yang tepat untuk Anda!"