具有 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");
所以我从服务器接收 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");