【发布时间】:2015-08-14 23:30:16
【问题描述】:
考虑sn-p:
String dateStr = "Mon Jan 32 00:00:00 IST 2015"; // 32 Jan 2015
DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
DateFormat ddMMyyyy = new SimpleDateFormat("dd.MM.yyyy");
System.out.println(ddMMyyyy.format(formatter.parse(dateStr)));
给我输出
01.02.2015 // Ist February 2015
我希望阻止这种情况,以使用户在 UI 上意识到无效日期?
有什么建议吗?
【问题讨论】:
-
@Jens:主要问题是我将如何使用 Calendar 类获取 dd.MM.yyyy 格式,然后使用 setLenient 方法进行处理。
-
尽可能避免使用 java
Date类。在 Java 7 和更早版本中使用 joda.org/joda-time,在 Java 8 中使用 Java Time。