【发布时间】:2015-04-17 15:20:25
【问题描述】:
我得到了一个以下格式的 UTC 日期,如何将此 UTC 日期转换为我的本地时区?
我的输入日期是2015-03-17 06:00:00 +0000,我尝试了以下编码,它给出了解析异常。
我的代码:
DateFormat utcFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss 'Z'");
utcFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = utcFormat.parse("2015-03-17 06:00:00 +0000"); // java.text.DateFormat.parse(Unknown Source)
utcFormat.setTimeZone(TimeZone.getDefault());
System.out.println(utcFormat.format(date));
【问题讨论】:
-
仅供参考,麻烦的旧日期时间类,如
java.util.Date、java.util.Calendar和java.text.SimpleDateFormat现在是 legacy,被 Java 8 及更高版本中内置的 java.time 类所取代.见Tutorial by Oracle。