我使用一個表:的MySQL獲得劃時代的時間
CREATE TABLE tv (
datetime datetime NOT NULL,
value int(4),
metric varchar(25),
PRIMARY KEY (datetime)
);
我的系統是在CET,所以我得到這個從選擇:
select * from tv;
+---------------------+-------+----------+
| datetime | value | metric |
+---------------------+-------+----------+
| 2017-08-09 14:17:27 | 0 | TV power |
| 2017-08-09 14:20:04 | 0 | TV power |
| 2017-08-09 14:40:04 | 0 | TV power |
| 2017-08-09 14:45:03 | 0 | TV power |
當我嘗試繪製它(在grafana ),我用:
SELECT
UNIX_TIMESTAMP(datetime) as time_sec,
value,
metric
FROM tv
ORDER BY datetime
它工作正常,只是它寫入所有與未來2小時多。所以我想這是因爲UNIX_TIMESTAMP認爲日期時間是UTC並且查看系統值,因爲它是CET,它在轉換爲紀元或類似的東西之前正在做+02:00。
我得到這個也:
SELECT @@global.time_zone;
+--------------------+
| @@global.time_zone |
+--------------------+
| SYSTEM |
+--------------------+
1 row in set (0.00 sec)
這意味着它使用系統時區是CET。
如何讓我的UNIX_TIMESTAMP正確轉換爲CET?
謝謝。
我認爲你可以找到下面的鏈接你的答案: https://stackoverflow.com/questions/930900/how-do-i-set-the-time-zone-of-mysql –
我想你可以找到你在這裏回答:[鏈接](https://stackoverflow.com/questions/930900/how-do-i-set-the-time-zone-of-mysql) –