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

标签 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"

这一定非常简单——但我不知道哪里出错了。

最佳答案

错误的解析模式

您的解析模式末尾包含一个 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 .

关于java.text.ParseException : Unparseable date: "2015-08-19T00:00:00",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32083118/

相关文章:

java - "getOutputStream() has already been called for this response"使用spring mvc下载文件时出现异常

java - 无法打开编辑器错误

java - java遍历框架中的neo4j cypher查询

java - 如何计算lucene索引中每个文档的词条数?

带有通配符的 Java 泛型类型

java - Java swing 中的图像映射功能,Points 与 GeneralPath

java - 如何使用 Java 使用 Selenium WebDriver 在 Chrome 中处理身份验证弹出窗口

java - 为什么我的 SimpleDateFormat 解析不起作用?

java - Json 解析错误 - MismatchedInputException 在 Spring Boot 中期望 LocalDate 的数组或字符串

java - 从 Java 中的组合框中删除所有项目