具有 java 时间偏移的无法解析的日期问题

Unparseable date issue with java time offset

所以我从服务器接收 2017-01-01T01:34:00+00:00 格式的日期,在看到许多示例后,我得到了以下 SimpleDateFormatter

SimpleDateFormat serverToClientFormat=
                 new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'",Locale.getDefault());

但是当我尝试用下面的行解析它时

serverToClientFormat.parse(object.getString("date"))

从服务器接收到的字符串为日期格式,抛出

java.text.ParseException:无法解析的日期:“2017-01-01T01:34:00+00:00”

我还可以尝试什么来解析以上格式?

您使用的是文字 Z 而不是 Z 模式字母 - 因此您的格式需要输入中的字母 Z,而不是时区偏移量。

此外,Z 模式不接受偏移量中的 :Try with X instead(没有单引号)它应该可以正常工作:

new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");

Live Example