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

Convert Date String to UTC format

我有一个从 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;
     }

此方法返回日期

Mon Oct 15 13:52:00 EDT 2018

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

Mon Oct 15 13:52:00 EDT 2018

是 date.toString() - 日期 class 的结果。

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

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));