本文包含如下問題:
- 1 mysql如何參看時間
- 2 mysql如何查看當前時區(qū)
- 3 mysql如何修改當前時區(qū)
- 4 mysql如何抓換時區(qū)
- 5 其他
1 mysql如何參看時間
mysql dbu@(none):coucou> select curdate();
+------------+
| curdate() |
+------------+
| 2018-05-15 |
+------------+
1 row in set
Time: 0.004s
mysql dbu@(none):coucou> select curtime();
+-----------+
| curtime() |
+-----------+
| 15:49:05 |
+-----------+
1 row in set
Time: 0.004s
mysql dbu@(none):coucou> select now();
+---------------------+
| now() |
+---------------------+
| 2018-05-15 15:49:11 |
+---------------------+
1 row in set
Time: 0.004s
mysql dbu@(none):coucou> select utc_timestamp();
+---------------------+
| utc_timestamp() |
+---------------------+
| 2018-05-15 07:49:22 |
+---------------------+
1 row in set
Time: 0.004s
mysql dbu@(none):coucou>
比較常用的就是now; utf_timestamp
注意 now 是跟時區(qū)有關(guān)的,時區(qū)變了雁佳,now當然要變脐帝。
2 如何查看mysql的時區(qū)
mysql dbu@(none):coucou> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | +08:00 |
+------------------+--------+
2 rows in set
Time: 0.005s
mysql dbu@(none):coucou>
3 修改系統(tǒng)的時區(qū)。
- 1 可以通過修改my.cnf
在 [mysqld] 文件之下加
default-time-zone=timezone
來修改時區(qū)糖权。如:
default-time-zone = '+8:00'
修改完了記得記得重啟msyql
注意一定要在 [mysqld] 之下加 堵腹,否則會出現(xiàn)錯誤
unknown variable 'default-time-zone=+8:00'
修改完先可以通過命令檢查下配置是否正確
mysql --help
- 2 直接在會話中改。
set set time_zone = '+8:00';
4 轉(zhuǎn)換時區(qū)
select CONVERT_TZ(now(),'+00:00','+8:00')
5 其他
- 系統(tǒng)底層都是儲存的timestamp
- 所以推薦項目使用timestamp
- 如果便于查看時間星澳,一定要設置mysql的時區(qū)為當前時區(qū)疚顷,這樣
select now()
所顯示的時間會與當前時間一致。
applicaion 與mysql 交互的時候禁偎。
通過echo sqlalchemy 語句腿堤,發(fā)現(xiàn)app在mysql中插入數(shù)據(jù)的時候?qū)嶋H上insert 的是字符串。所以是不包含時區(qū)概念的如暖。
mysql如何生成一個特定時間
可以產(chǎn)生一個變量笆檀,根據(jù)select now()的結(jié)果稍作更改
set @dt = '2018-06-07 14:59:50'
refer
https://dev.mysql.com/doc/refman/5.7/en/time-zone-leap-seconds.html