问题描述:
数据库存储的是正确的时间格式(2021-06-17 21:47:23)但是在获取的时候变成了(2021-06-17T13:47:23.000+00:00)
重点: 我们发现获取到的时间跟原时间是有差别的,原时间是21:47,而获取到的时间是13:47,相差了8个小时,所以我们在转换的时候应该注意,要将获取的时间在加上一个 T 的时间,也就是 8 个小时,下面我们来看转换方法:
解决方法:
调用以下方法转换:
public static String dealDateFormat(String oldDateStr) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:SS"); //yyyy-MM-dd'T'HH:mm:ss
Date date = df.parse(oldDateStr);
date.setHours(date.getHours()+8); // 一个 T 是 8 小时,虽然不知道为什么等于 8 ,但可以测试出来
DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS");
return df2.format(date);
}