前言:胖胖的同事发现,@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") 注解在 格式化 1990-06-05 00:00:00 时,格式化出来的时间为 1990-06-04 23:00:00,以为是一个bug,遂拉着我们围观和讨论,众人皆惊,还有这种情况。自己也起了个小项目试了试,确实如此,有点意思了。
原因:在网上调研了一番之后发现了 夏令时 的说法,贴图如下:
有些工具类也将夏令时考虑进去了,自己测试也确实是这样子的
可行的调整措施:SimpleDateFormat 格式化 Date 经测试没有这个问题,可以手动用这种方式格式化 或者 用字符串拼接的方式,具体还要考虑业务场景