java - Java 时间偏移无法解析的日期问题

标签 java android date-parsing

<分区>

所以我从服务器接收到格式为 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

关于java - Java 时间偏移无法解析的日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41414613/

相关文章:

android - 联想A600在应用程序被杀死后无法保持服务运行

java - `DateTimeFormatter` 在小数秒内处理句号或逗号

java - 解析日期字符串时出错

go - 如何在 Go 中解析日历周数

java - 如何使用 Facebook Android SDK 4.x 将视频上传到 Facebook?

java - 如何在 Java Swing 中播放视频?

java - 尝试在空对象引用上调用 checkPermission 的虚拟方法

java - &-运算符和顺序的泛型歧义

android - 在运行时管理表格行的 View

android - NfcAdapter.getDefaultAdapter(this) 在模拟器中返回 null