2017-11-24 16:39

找到原因了,这里总结一下。因为mysql数据库未指定所在时区默认为美国中部时间
(UTC-06:00),美国从“3月11日”至“11月7日”实行夏令时,美国中部时间改为 UTC-05:00,与 UTC+08:00 相差 13 小时,冬令时则相差14个小时。所以jdbc取出来的时候时间就已经有“误差了”。各位小伙伴使用timestamp类型的时候一定要注意指定时区,不管是在数据库配置指定还是数据库连接的参数设置,一定要指定时区。

2017-11-24 14:32

@JFinal 波哥,我这里createtime是String类型的,而且打断点跟进Db.paginate的实现去看,从PreparedStatement去执行executeQuery()方法的时候ResultSet中
createTime的值就已经不对了。。。