Happy3w

SimpleDateFormat按照特定时区转换时间

2018.01.26
String strDate = "2018-01-04 00:00:00.000"; ZoneId zoneId = ZoneId.of("UTC+8").normalized(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); format.setTimeZone(TimeZone.getTimeZone(zoneId)); Date date = format.parse(strDate); 这里的normalized方法不能省略,TimeZone.getTimeZone(zoneId)需要zoneId为normalized之后的结果,否则时间转换不会报错,但是结果按照格林尼治时区转换。