您好,登錄后才能下訂單哦!
本篇內容介紹了“mysql時區的縮寫以及相關操作介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一、時區縮寫
UTC是協調世界時(Universal Time Coordinated)英文縮寫,是由國際無線電咨詢委員會規定和推薦,并由國際時間局(BIH)負責保持的以秒為基礎的時間標度。UTC相當于本初子午線(即經度0度)上的平均太陽時,過去曾用格林威治平均時(GMT)來表示.北京時間比UTC時間早8小時,以1999年1月1日0000UTC為例,UTC時間是零點,北京時間為1999年1月1日早上8點整。
GMT(Greenwich Mean Time)是格林尼治平時:
由于地球軌道并非圓形,其運行速度又隨著地球與太陽的距離改變而出現變化,因此視太陽時欠缺均勻性。視太陽日的長度同時亦受到地球自轉軸相對軌道面的傾斜度所影響。為著要糾正上述的不均勻性,天文學家計算地球非圓形軌跡與極軸傾斜對視太陽時的效應。平太陽時就是指經修訂后的視太陽時。在格林尼治子午線上的平太陽時稱為世界時(UT0),又叫格林尼治平時(GMT)。 為了確保協調世界時與世界時(UT1)相差不會超過0.9秒,有需要時便會在協調世界時內加上正或負閏秒。因此協調世界時與國際原子時(TAI)之間會出現若干整數秒的差別。位于巴黎的國際地球自轉事務中央局(IERS)負責決定何時加入閏秒。
也就是說,UTC 基本上等于GMT
CET
(英語:Central European Time,CET)歐洲中部時間是比世界標準時間(UTC)早一個小時的時區名稱之一。它被大部分歐洲國家和部分北非國家采用。冬季時間為UTC+1,夏季歐洲夏令時為UTC+2。
CEST
歐洲中部夏令時間(Central European Summer Time,簡稱CEST)比世界標準時間( UTC )早兩個小時的時區名稱之一。它被大部分歐洲國家和部分北非國家在夏天采用(UTC+2),冬季這些國家使用 歐洲中部時間 (UTC+1)
CST
CST卻同時可以代表如下 4 個不同的時區:
Central Standard Time (USA) UTC-6:00
Central Standard Time (Australia) UTC+9:30
China Standard Time UTC+8:00
Cuba Standard Time UTC-4:00
可見,CST可以同時表示美國,澳大利亞,中國,古巴四個國家的標準時間。 也就是說,這個需要根據使用的場景來確定使用的是哪個時區。
時區在線轉換工具網站 http://www.timebie.com/timezone/centraleuropeansummerbeijing.php
二、 MYSQL的時區
查看
mysql> select @@global.time_zone,@@session.time_zone,@@global.system_time_zone; +--------------------+---------------------+---------------------------+ | @@global.time_zone | @@session.time_zone | @@global.system_time_zone | +--------------------+---------------------+---------------------------+ | SYSTEM | SYSTEM | CST | +--------------------+---------------------+---------------------------+ 1 row in set (0.00 sec) mysql> show variables like '%time_zone%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | CST | | time_zone | SYSTEM | +------------------+--------+ 2 rows in set (0.00 sec) mysql> SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP); +--------------------------------+ | TIMEDIFF(NOW(), UTC_TIMESTAMP) | +--------------------------------+ | 08:00:00 | +--------------------------------+ 1 row in set (0.00 sec)
SYSTEM 表示使用“OS時區”; CST ,這里cst是“中國標準時間+8:00區”
也可以在OS下查看,是“東8區”:
[root@mydb31 ~]# date -R Fri, 14 Dec 2018 11:08:34 +0800
[root@mydb31 ~]# ll /etc/localtime lrwxrwxrwx. 1 root root 35 Aug 17 13:26 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai [root@mydb31 ~]# cat /etc/localtime TZifǜ?'p??Z?p ~h!Iap"^J#)Cp$Gg%_?&?+(У?~pCDTCSTTZif2 ????~6C)????ǜ?????'p??????????Z?p ~h!Iap"^J#)Cp$Gg%_?&?+(У?q?LMTCDTCST CST-8
可以看出修改OS時區的方法
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2. mysql的時區系統表
mysql 系統庫中幾個用來維護時區的系統表,默認空的
可以使用shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql 加載
三、修改mysql服務器的時區
方法一:修改global變量
set global time_zone = '+8:00'; ##修改mysql全局時區為北京時間,即我們所在的東8區
set time_zone = '+8:00'; ##修改當前會話時區
flush privileges; #立即生效
方法二:通過修改my.cnf配置文件來修改時區
# vim /etc/my.cnf ##在[mysqld]區域中加上
default-time_zone = '+8:00'
# /etc/init.d/mysqld restart ##重啟mysql使新時區生效
四、 timestamp 和 datetime時間類型
timestamp類型:會自動把時間轉成gmt時間存儲時間,取出時,又會自動轉換成服務器的時區, 所以各位不用指定時區(默認東8區);
datetime類型: 沒有時區概念,對于有跨國業務的數據庫,存儲時統一轉換成gmt格式存儲,取出時指定時區顯示
“mysql時區的縮寫以及相關操作介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。