我得到以下格式的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));
最佳答案
您的代码中有两个错误。
正如其他人已经提到的,您在'
周围的模式中还有其他Z
。
您将模式指定为dd-MM-yyyy
,但尝试将日期解析为yyyy-MM-dd
。
正确版本:
DateFormat utcFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
utcFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = utcFormat.parse("2015-03-17 06:00:00 +0000");
utcFormat.setTimeZone(TimeZone.getDefault());
System.out.println(utcFormat.format(date));