-1

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

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

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

dateFormater.parse(dateString)"; 

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

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

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

4

2 回答 2

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);

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

于 2013-06-08T04:57:33.560 回答
0

好吧,我刚刚发现正在访问的 Web 服务正在返回一个像这样的额外空间 -->

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

结果,解析方法无法成功解析字符串。

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

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

非常感谢您的支持。我没有意识到空白也会导致问题。

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

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

于 2013-06-08T19:10:00.360 回答