首先我们看一下timestamp与datetime的对比如下:

类型 TIMESTAMP DATETIME
不同点 存储空间:TIMESTAMP占用4个字节 存储空间:DATETIME占用8个字节
时区:TIMESTAMP实际记录的是1970-01-01 00:00:01到现在的数数,受时区影响 时区:DATETIME不受时区影响
时间范围:‘1970-01-01 00:00:01’ UTC ~ ‘2038-01-19 03:14:07’ UTC 时间范围:‘1000-01-01 00:00:00’ ~ ‘9999-12-31 23:59:59’
存储方式:对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回(中国属于东八区,所以应该是UTC+8)。 存储方式:而对于DATETIME,不做任何改变,基本上是原样输入和输出

需要注意:

1.Datetime与timestamp的格式问题

答:两者都可用来表示YYYY-MM-DD HH:MM:SS[.fraction]类型的日期。
但是对于Datetime它可分为两部分:date部分和time部分,其中,date部分对应格式中的“YYYY-MM-DD”,time部分对应格式中的“HH:MM:SS[.fraction]”。对于date字段来说,它只支持date部分,如果插入了time部分的内容,它会丢弃掉该部分的内容,并提示一个warning。
具体可参照博客:https://www.cnblogs.com/ivictor/p/5028368.html

2.什么是UTC?

答:协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC
不属于任意时区
中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的时差均为+8,也就是UTC+8。
时区(Time Zone)是地球上的区域使用同一个时间定义。1884年在华盛顿召开国际经度会议时,为了克服时间上的混乱,规定将全球划分为24个时区。在中国采用首都北京所在地东八区的时间为全国统一使用时间。

例:已知东京(东九区)时间为5月1日12:00,求北京(东八区)的区时?北京时间=12:00-(9-8)=11:00(即北京时间为5月1日11:00)。

3.对于MySQL中timestamp数据类型的特点,为什么选择timestamp类型???

答:int类型占用4字节,datetime占用8字节,timestamp占用4字节;通常情况下在选择表中列的数据类型时我们要选择能满足存储需要的,最小的数据类型,在使用MySQL数据库时有很多常见的误解,其中使用int类型来保存日期数据会提高数据读取的效率就是比较常见的一个误解。显然INT要比datetime类型小很多,同时MySQL又提供了两个非常好用的函数FROM_UNIXTIME() 和UNIX_TIMESTAMP(),使用这两个函数可以方便的在INT和DATETIME类型之间进行转换,但是使用INT类型存储时间也给我们带来了不少的麻烦:

1.数据的可读性比较差,我们在查看数据时不能直观的看出时间列中记录的一串整数所代表的时间
2.每次进行显示时都要通过函数进行转换,增加了数据使用的复杂成度。

那有没有什么更好的方法来存储日期数据呢?这就要用到我们标题中所说到的timestamp类型了,timestamp类型的特点如下:
1.存储占用 4个字节,以年月日小时分秒的日期型式显示
2.存储范围’1970-01-01 00:00:01’ to ‘2038-01-19 03:14:07’.
3.以UTC时区进行存储,但是以系统当前时间进行显示
4.可以在insert和update时把值自动更新为当前时间

由以上特点可以知道,timestamp存储占用的空间和INT类型相同,实际上timestamp类型的数据在存储时就是被保存成INT类型的数据来存储的,这和我们使用INT来存储日期时间数据可以说是完全一样的。由于同样是使用INT类型来保存数据,所以和INT类型一样其存储的时间范围也是有限制的,
**这一点大家一定要注意,超过了这个范围的日期数据建议大家使用datetime类型来保存。**另外timestamp数据存储时是以UTC时区来保存的,在显示时MySQL会自动的把数据转换为当前连接所对应时间来显示。

可见,使用timestamp来存储日期时间数据不但保证了数据类型的大小同INT类型一样,同时可以显示为日期时间格式,这在给我们使用数据带来了很多的方便。所以强烈建议大家,使用timestamp类型来存储日期数据而不要再使用INT类型了。(转自:https://www.imooc.com/article/16158)

TIMESTAMP和DATETIME的区别以及选择相关推荐

  1. TIMESTAMP和DATETIME的区别(海信面试题)

    TIMESTAMP和DATETIME的相同点: 两者都可用来表示 YYYY-MM-DD HH:MM:SS 类型的日期 TIMESTAMP和DATETIME的不同点: 1. 两者的存储方式不一样 对于T ...

  2. MySQL时间格式TIMESTAMP和DATETIME的区别

    时区,timestamp会跟随设置的时区变化而变化,而datetime保存的是绝对值不会变化 自动更新,insert.update数据时,可以设置timestamp列自动以当前时间(CURRENT_T ...

  3. date,datetime和timestamp数据类型有什么区别

    一个完整的日期格式如下:YYYY-MM-DD HH:MM:SS[.fraction],它可分为两部分:date部分和time部分,其中,date部分对应格式中的"YYYY-MM-DD&quo ...

  4. MySQL中有关TIMESTAMP和DATETIME的总结

    一.MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME ...

  5. Mysql的timestamp与datetime

    1.MySQL表示当前时间 CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME() LOCALTIMESTAMP LOCAL ...

  6. mysql show timestamp_MySQL中有关TIMESTAMP和DATETIME的总结

    一.MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME ...

  7. timestamp与datetime的对比

    首先我们看一下timestamp与datetime的对比如下: 类型 TIMESTAMP DATETIME 不同点 存储空间 TIMESTAMP占用4个字节 DATETIME占用8个字节 时区 TIM ...

  8. php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析

    本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...

  9. 网页静态化和网页伪静态化之间的区别与选择

    网页静态化和网页伪静态化,如果我们是一个不懂网站的人估计听到这些词可能会比较头晕,王晟璟在刚开始接触并尝试建设自己的个人博客网站的时候也是如此,看了很多关于这方面的资料也还是云里雾里的,不过后面终于整 ...

  10. 1核2G云服务器 标准型S4 S5,腾讯云服务器标准型S4和S5配置性能参数区别及选择攻略...

    腾讯云服务器标准型S4和标准型S5实例有什么区别?标准型S5相对于S4是新一代云服务器规格,S5实例CPU采用2.5GHz主频至强Cascade Lake,S4实例处理器采用2.4GHz主频至强Sky ...

最新文章

  1. selenium - webdriver常用方法
  2. WINDOWS下的各类HOOK
  3. 机器学习---knn之价格预测
  4. 会议容易中吗_运放电路设计中容易出现的细节问题,你都搞懂了吗?
  5. Linux系统开机自启流程
  6. 能上网的Linux系统,那一款linux能上网
  7. 团队冲刺第一阶段第五天
  8. 同一条sql在mysql5.6和5.7版本遇到的问题。
  9. 阿里文娱搜索排序算法实践和思考(附交流视频和PPT下载链接)
  10. ad采样信噪比与噪声_在AD转换中的过采样和噪声形成
  11. MAC中让右键菜单出现终端(命令行)打开文件夹的功能
  12. 读书 - 《许三观卖血记》
  13. Mac电脑升级13系统后,git clone 代码报错,mac升级后git ssh用不了
  14. 深藏不漏!.cc域名接连高价成交!最高突破6位数!
  15. 如何成为一名合格的数据产品经理?
  16. Java中extends 与 implement 区别
  17. 病毒virus - 拓扑排序
  18. 转:资本2010《CCTV财经频道中国证券市场投资策略报告》发布
  19. 走入 Cocos Creator视频教程-姜威-专题视频课程
  20. n平方的求和公式_n的二次方怎么求和?

热门文章

  1. 广州找工作指南:避雷公司名录及优秀公司名录
  2. linux shc shell脚本_用shc加密shell脚本
  3. 程序员培训班一般要多少钱?
  4. Linux用户和进程管理
  5. 神经派考古学 - 推荐一个blog
  6. Protel Dxp2004 创建库
  7. keep跑步记录伪造_Keep、悦跑圈、咕咚、悦动圈,四个跑步App比对
  8. 判断中心对称图形C语言
  9. 实验五 集线器和交换机的区别
  10. 微信的自动回复接入聊天机器人