![](/img/trans.png)
[英]java.text.ParseException: Unparseable date: “01-02-2014”
[英]java.text.ParseException: Unparseable date: “2014/02/20”
我可能会在解析日期时感到困惑。
以下是代码:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD");
Date d = format.parse("2014/02/20");
System.out.println(d);
不仅您弄错了斜杠/破折号,而且您还使用DD
(每年的日期)而不是dd
(每月的日期)。 你要:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
与往常一样,请阅读文档以准确了解模式符号的含义-如果发现其行为异常 ,请非常仔细地对照数据检查模式。
我还建议:
java.time
(Java 8); java.util.Date/Calendar
API太糟糕了 当前,您正在使用默认时区和语言环境。 尽管在这种情况下语言环境可能无关紧要(除非它是用来选择日历系统的;我记不得了),但我认为明确指定它更为清晰。 时区绝对重要; 如果您只想将其视为日期(无时间),则可能值得指定UTC-这样可以轻松地与其他任何对象互操作,并且可以在底层毫秒表示的明显位置获得日边界。
您的日期格式与您的字符串不匹配。
Date d = format.parse("2014-02-20");
要么
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.