java - ParseDate 无法解析

标签 java date exception unparseable

我有代表日期的字符串,格式为 2014-11-01T18:57:24.497Z 我想解析 作为 SimpleDateFormat

我正在使用下面的代码

// 2014-11-01T18:57:24.497Z
SimpleDateFormat startAnalyzing = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz");
Date start = startAnalyzing.parse(startDateAnalyzing);

执行此操作时出现异常:

java.text.ParseException: Unparseable date: "2014-11-01T18:57:24.497Z"
    at java.text.DateFormat.parse(DateFormat.java:357)
    ...

我做错了什么?

最佳答案

首先,您尝试使用 Z 解析 z,因此为两者(字符串和模式)选择 z lower 或 upper .

其次,您需要“转义”模式中的 Z(或 z)。

String startDateAnalyzing = "2014-11-01T18:57:24.497z";
SimpleDateFormat startAnalyzing = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'z'");

输出:

Sat Nov 01 18:57:24 CET 2014

关于java - ParseDate 无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26798023/

相关文章:

java - 了解 try & catch 以及错误处理

perl - 如何修改 Perl DateTime 对象?

php - 似乎无法从 PHP date() 中转义字符;

C++ - 新手 - 简单的尝试/捕捉

使用 NUnit 进行调试

c# - 当使用 "using"时,我们是否有任何情况可以包含 catch block ,我们可以在其中处理对象而不做任何其他事情

java - 我的 squaretest 也没有分析其他大小和 ArrayIndexOutofBoundsException

java - 在没有默认构造函数的情况下调试 XStream

java - 我从 String placeName = placeText.getText().toString(); 收到空指针异常

ruby-on-rails - Rails : Why, 以及如何在这个例子中将明显相等的值添加到相等的日期会给出不同的结果?