数据库表结构设计-时间字段(date/timestamp/datetime)

真实踩坑记

时间差值统计出现ms级负值

数据库字段类型为datetime,存储如:“2020-03-04 12:22:21”

方法中采用(new Date()).getTime()进行比较,表中记录缺少ms级数值,导致比较存在误差

解决方案:表结构字段设计制定datetime位数,datetime(3)

数据样例:“2020-04-08 20:38:09.620”


原理

Mysql中经常用来存存储日期的数据类型有三种:Date、Datetime、Timestamp。

Date数据类型度:用来存储问没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。

Datetime类型答:存储既有日期又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。

Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟回Datetime一样。支持的时间范围是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。

你可能感兴趣的:(数据库表结构设计-时间字段(date/timestamp/datetime))