将日期字符串转换为UTC格式

时间:2018-10-15 17:14:10

标签: java android android-date java-date

我有一个日期字符串,该字符串是从API返回的。日期采用这种格式。

  

2018-10-15T17:52:00Z

现在,我想将此字符串转换为UTC日期格式。这是我使用的代码,

private static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'";


 try {
        String expiryDateString = "2018-10-15T17:52:00Z";
        final SimpleDateFormat formatter = new SimpleDateFormat(DATE_FORMAT,Locale.US);
        formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
        return formatter.parse(expiryDateString);
     } catch (final ParseException e) {
            return null;
     }

此方法将日期返回为

  

2018年10月15日星期一13:52:00

我不能使用Java 8函数。有什么方法可以在不使用Java 8方法的情况下将字符串转换为UTC日期时间?

1 个答案:

答案 0 :(得分:1)

  

2018年10月15日星期一13:52:00

是date.toString()-Date类的结果。

日期已正确解析,只是显示方式不同。 如果您想检查解析是否正确,可以这样检查:

String expiryDateString = "2018-10-15T17:52:00Z";
final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US);
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = formatter.parse(expiryDateString);
assertEquals(expiryDateString, formatter.format(date));