关于在页面列表里查询数据的时间和页面实时弹窗中的时间差1秒钟的问题
1、问题:
在一次告警中心功能的演示时,告警列表页中的实时告警数据,每次都跟弹窗的告警提示信息查一秒,有时候有事正常的,就很奇怪。
2、解决:
经过进行代码断点,发现在插入告警时间时,使用的LocalDateTime,该时间时带有纳秒时间的,比如在程序中显示的时间值是:1990-01-01T00:01:01.111,此时存进数据库的值就是:1990-01-01T00:01:01,而当程序中的时间值为:1990-01-01T00:01:01.567时,数据库里存的值就变成了:1990-01-01T00:01:02,发现这是LocalDateTime在进行数据库插入的时候,进行了四舍五入,导致直接差了1秒钟,所以知道问题所在后,我采用的方式是:localDateTime.withNano(0),将时间的纳秒去掉。