7

スニペットを検討してください:

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 で無効な日付であることをユーザーに認識させるために、これを防止したいですか?
助言がありますか?

4

3 に答える 3

2

DateFormat.setLenient(boolean)厳密な解析で(Javadoc から) toを使用できます。入力は、このオブジェクトの形式と一致する必要があります。

DateFormat ddMMyyyy = new SimpleDateFormat("dd.MM.yyyy");
ddMMyyyy.setLenient(false);
于 2015-06-01T13:25:13.273 に答える