加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql时区的缩写以及相关操作简介

发布时间:2022-01-16 16:42:00 所属栏目:MySql教程 来源:互联网
导读:本篇内容介绍了mysql时区的缩写以及相关操作介绍的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、时区缩写 UTC是协调世界时(Universal Time Coo
       本篇内容介绍了“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时区的缩写以及相关操作介绍”的内容就介绍到这里了,感谢大家的阅读。

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读