save方法新增数据后,createtime时间戳 数据库一致

1.写一个循环新增的方法
for (int i = 1; i < 5; i++) {
Conflog conflo=new Conflog();
conflo.setCreateDate(LocalDateTime.now());
conflo.setName(name);
conflo.setTag("1");
iConflogService.save(conflo);
}
测试:
for (int i = 0; i < 3; i++) {
System.out.println("=======================================start");
System.out.println(LocalDateTime.now());
System.out.println(new Timestamp(System.currentTimeMillis()));
String current = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format( new Date());
Timestamp time = Timestamp.valueOf(current);
System.out.println(time);
System.out.println("=======================================end");
}
结果:
=======================================start
2021-07-14T12:31:07.660
2021-07-14 12:31:07.661
2021-07-14 12:31:07.686
=======================================end
=======================================start
2021-07-14T12:31:07.687
2021-07-14 12:31:07.687
2021-07-14 12:31:07.687
=======================================end
=======================================start
2021-07-14T12:31:07.687
2021-07-14 12:31:07.688
2021-07-14 12:31:07.688
=======================================end
如何解决:待写

本文档描述了一个在Java程序中使用 LocalDateTime.now() 保存数据到数据库时,createtime 时间戳出现不一致的问题。在循环中调用 save 方法新增数据,发现时间记录存在微妙差异。解决方案可能涉及数据库时区设置、Java 应用服务器时区配置以及代码中时间处理的一致性。确保所有时区设置正确,并考虑使用 Timestamp 类型进行精确时间记录。
171万+

被折叠的 条评论
为什么被折叠?



