mysql 23:59:59 999 为什么会展示为第二天

在 MySQL 中,日期时间类型包括 DATE、TIME、DATETIME、TIMESTAMP 等。其中,DATETIME 和 TIMESTAMP 类型可以表示具体的日期和时间,包含年、月、日、时、分、秒等信息。当使用 DATETIME 或 TIMESTAMP 存储日期时间值时,如果精度达到了秒级别以上,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) 表示精确到毫秒级别。

posted @ 2023-04-10 15:19  BigOrang  阅读(1063)  评论(0)    收藏  举报