java.text.ParseException:Unparseable date:" 2015-08-19T00:00:00"

时间:2015-08-18 21:44:42

标签: java

我试图用Java解析字符串中的日期。我的字符串是" 2015-08-19T00:00:00",这是我解析它的代码:

DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
java.sql.Timestamp date = new java.sql.Timestamp(format.parse(dateString).getTime());

但是,我在运行代码时收到此错误消息:

java.text.ParseException: Unparseable date: "2015-08-19T00:00:00"

这一定非常简单 - 我不知道自己哪里出错了。

1 个答案:

答案 0 :(得分:2)

错误的解析模式

您的解析模式最后包含Z。该符号表示您期望从UTC偏移。但是您的输入字符串缺少任何偏移或时区信息。所以你的数据与你告诉Java的预期不符。

或者:

  • 从您的模式中删除Z,或
  • 向您的数据添加偏移信息(首选)。

如果您的数据是代表UTC中的一个时刻,则按字面意思添加单个字符Z(“Zulu”的缩写)。如果在特定偏移量(如印度)中暂时使用,请附加+05:30等偏移量。

更好:继续阅读,使用新课程。

java.time

Java 8带来了新的java.time package,取代了旧的麻烦的java.util.Date/.Calendar& java.text.SimpleDateFormat类。

有关详细信息和示例代码,请参阅my Answer至此类似问题Java unparseable date