文章目录

      • 场景
      • 分析
      • 解决

场景

  • 项目中将账号的截至时间戳以int类型存储在mysql中, 测试同学在测试的时候 提出了一个bug 在2038-01-19之后日期会被截取成2038-01-19

分析

  • mysql int 有符号位 支持的最大长度是 2147483647; 而2038-01-19 11:14:07(北京时间) 已经达到了最大存储值, 所以之后的时间会被截取

解决

  • 更新类型 bigint, 我的项目账号数量不是特别大,所以可以这样做,也不特别占用空间
  • 存Ymd的形式

更多推荐

mysql int存储2038-01-19之后时间戳的问题