SimpleDateFormater为MMM返回null d yyyy h:mm一个模式

时间:2013-06-08 04:48:33

标签: java simpledateformat datetime-format

我无法成功解析日期。这是代码段。

输入字符串:2013年5月9日上午8:29

SimpleDateFormat dateFormater = new SimpleDateFormat("MMM d yyyy h:mm a", Locale.US);'

dateFormater.parse(dateString)"; 

我也没有任何例外。你能帮我解决这个问题吗?

解析器始终返回null。我阅读文档,它说如果有任何异常,解析最终会给出null。

我会尝试不同的选项并为此发布答案。

2 个答案:

答案 0 :(得分:1)

    String dateString = "May 9 2013 8:29 AM";
    SimpleDateFormat dateFormater = new SimpleDateFormat("MMM d yyyy h:mm a", Locale.US);
    Date date = dateFormater.parse(dateString);
    System.out.print(date);

对我来说工作得很好......

答案 1 :(得分:0)

我刚才发现正在访问的网络服务正在返回这样一个额外的空间 - >

“2013年5月9日上午8:29”。

因此,parse方法无法成功解析字符串。

我使用String的trim方法删除日期字符串之前和之后的空格。

现在能够将日期字符串解析为日期。

非常感谢您的支持。我没有意识到白色空间也会引起问题。

现在一切都很好看。我实现的方式只是正确的,但除此之外,我需要确保字符串之前和之后没有空格, 因为我将模式定义为 - > “MMM d yyyy h:mm a”没有空白区域。

另一种解决方法是 - >而不是使用修剪来避免白色空间...... 我可以将模式设为 - > “MMM d yyyy h:mm a”(注意开始时有一个空白区域)