赞
踩
数据库存储的是正确的时间格式(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);
}
在我们调用 dealDateFormat 方法的时候可能会抛出异常, try catch 一下就可以了
enrollTime = bundle.getString("enrollTime");
organUserId = bundle.getString("organUserId");
orderAwaitTime = bundle.getString("orderAwaitTime");
System.out.println("enrollTime--" +enrollTime);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
String ss = DateTimeUtil.dealDateFormat(enrollTime);
System.out.println("ss--"+ss);
Date currentTime = sdf.parse(DateTimeUtil.getNow()); //当前系统时间
Date firstTime = sdf.parse(ss); //查询的数据时间
String str = DateTimeUtil.getTime(currentTime,firstTime);
System.out.println("时间差为:"+str);
} catch (ParseException e) {
e.printStackTrace();
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。