开发中,我们可能需要将时区类的时间转换成我们能够理解的且表示正常的date类型(这些场景在数据库时间字段比较常见,如mongo和es,他们储存的时候时间是0时区表示,而我们处在东八区,时间差为8小时),实例如下:
String time = "2020-09-27T03:57:30.003Z";
String timeStart = time.replace("Z", " UTC");
System.out.println(timeStart);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
try {
Date timeEnd = format.parse(timeStart);
System.out.println(timeEnd);
String timeEnd1 = format1.format(timeEnd);
System.out.println(timeEnd1);
} catch (Exception e) {
e.printStackTrace();
}
或者
String time = "2020-09-27T03:57:30.003Z";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
try {
Date timeEnd = format.parse(time);
System.out.println(timeEnd);
String timeEnd1 = format1.format(timeEnd);
System.out.println(timeEnd1);
} catch (Exception e) {
e.printStackTrace();
}