MySql中关于日期时间的存储小记

今天在设计一个表结构时,突然想到为什么要用时间戳来存储时间。查询了一下,又拓展出时间戳的2038年问题,简单归纳。

  1. 存储完整时间时一般存储时间戳,类型使用int(11)。
  2. 时间戳长度为10位,之所以设11是为防止溢出。
  3. 使用int(11)或者datetime各有优势,但是通常情况下使用整形存储计算效率较高。
  4. 如果只存储日期如2017-03-28可用date存储更为直观,且有较为方便的date_add函数。
  5. 在32位计算机中,时间戳存储时间最大能到2038 年 1 月 19 日 03:14:07 止。
  6. 使用64位服务器,不会出现出现2038年问题(又称Y2K38 漏洞)。
点赞