时区的有关知识

GMT:
Greenwich Mean Time 格林尼治标准时间。这是以英国格林尼治天文台观测结果得出的时间,这是英国格林尼治当地时间,这个地方的当地时间过去被当成世界标准的时间。

UT:
Universal Time 世界时。根据原子钟计算出来的时间。

UTC:
Coordinated Universal Time 协调世界时。因为地球自转越来越慢,每年都会比前一年多出零点几秒,每隔几年协调世界时组织都会给世界时+1秒,让基于原子钟的世界时和基于天文学(人类感知)的格林尼治标准时间相差不至于太大。并将得到的时间称为UTC,这是现在使用的世界标准时间。协调世界时不与任何地区位置相关,也不代表此刻某地的时间,所以在说明某地时间时要加上时区也就是说GMT并不等于UTC,而是等于UTC+0,只是格林尼治刚好在0时区上。GMT = UTC+0

CST:
Chinese Standard Time中国标准时。
CST = UTC+8
此处+8是指+8h


Mysql中timestamp的存取方式:
存:
Mysql将timestamp按照系统当前所处时区处理为UTC时间戳。
比如在中国,insert一个时间戳current,则过程为以下:

  1. current = current - 8,将时间戳换为UTC时间戳
  2. 存储UTC时间戳

取:
3. Mysql检查当前系统所处时区
4. current = current + 8,将UTC时间戳转化为本地时区的时间戳
5. 输出时间戳

【注】底层存储时间都是UTC,然后操作的时候根据时区相应环境变量转换成相应时区

Mysql中datetime用5个字节来存储日期和时间,用另外3个字节来存储小数部分。其中存储小数部分用的是4bits一个精度。
精度|空间
1,2|1byte
3,4|2bytes
5,6|3bytes


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值