mysql 2023-04-09 23:59:59 999 为什么会展示为第二天

发布时间 2023-04-10 15:24:13作者: BigOrang

在 MySQL 中,日期时间类型包括 DATETIMEDATETIMETIMESTAMP 等。其中,DATETIMETIMESTAMP 类型可以表示具体的日期和时间,包含年、月、日、时、分、秒等信息。当使用 DATETIMETIMESTAMP 存储日期时间值时,如果精度达到了秒级别以上,MySQL 会进行四舍五入,将精度保留到秒级别。

对于 2023-04-09 23:59:59.999 这个日期时间值,在 MySQL 中会被认为是 2023-04-10 00:00:00,因为 MySQL 会将毫秒四舍五入到秒级别,而 23:59:59.999 四舍五入后就变成了 00:00:00

因此,如果需要精确到毫秒级别,可以使用 DATETIME(3)TIMESTAMP(3) 类型,其中括号中的数字表示精确到小数点后几位。例如,DATETIME(3) 表示精确到毫秒级别。