java - SimpleDateFormat 由于未知原因给出 ParseException

标签 java simpledateformat parseexception

我需要格式化我的日期(Java),它是字符串格式。当我使用以下代码时,取自 tutorial/reference source ,它只会给出以下错误。我已经尝试了我能想到的一切。

我的代码:

SimpleDateFormat format = new SimpleDateFormat ("E dd/MMM/yy");
java.util.Date date = format.parse ("12/31/2006");
System.out.println (date);

这会导致以下错误:

java.text.ParseException: Unparseable date: "12/31/2006"

我实际上正在尝试格式化此字符串“2011-7-27”,但它给出了相同的错误,这导致我尝试为我提供给它的字符串使用该格式。

你能看到我在某个地方搞砸了什么吗?

最佳答案

您提供的代码不是取自您链接到的页面。该格式字符串不会出现在页面上的任何位置。

您在格式说明符中包含了一个“E”,它对应于一周中的某一天 - 但您没有提供它。您还使用“MMM”作为月份说明符,这将是文本表示(例如“Jul”)。最后,您指定了年份“yy”,但随后给出了 4 位数字。 (这实际上不会引起问题 - 它会处理四位数字 - 但最好指定您实际期望的格式。)如果您只是想要给出“12/31/2006”您的格式应为“MM/dd/yyyy”

如果您确实想解析“2011-7-27”,您应该使用“yyyy-M-dd”作为格式字符串。

关于java - SimpleDateFormat 由于未知原因给出 ParseException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6859939/

相关文章:

java - 无法在 Android 上将字符串转换为日期

java - 线程调度-notify调用后线程如何获取锁

java - Android - 从膨胀布局中查找 View ID

java - 显示已上传到目录的文件(servlet)

java - 有没有办法从 StringBuilder 解析日期?

java - DecimalFormat 将数字转换为非数字

java - PathTransition 没有像我想象的那样工作(使用 CubicCurveTo/ArcTo 和一般坐标的混淆)

Java - 在 Netbeans IDE 中将毫秒转换为 `HH:mm:ss:SSS` 时结果不正确

java - 在 Java 中从毫秒转换为 UTC 时间

android - 电子邮件地址已被占用