私は日にビッグエンディアン日付文字列を解析するには、このコードを持っている:DateFormatで日付を解析する理由は何ですか?
public static final Date fromBigEndian(String dateBigEndian) {
DateFormat bigEndianFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
return bigEndianFormat.parse(dateBigEndian);
} catch (ParseException e) {
return null;
}
}
と、このテストケース:
@Test
public void returnNullIfDoesNotMatchBigEndianFormat() {
String nonBigEndianDate = "01-06-2016";
Date parsedDate = DateUtil.fromBigEndian(nonBigEndianDate);
assertNull(parsedDate);
}
をしかし、それは失敗します。ヌルの代わりに日付を返しますが、形式が"01-06-2016"
の場合、パターン"yyyy-MM-dd"
と一致しません。なぜメソッドがParseException
を投げないのですか?
「Date」オブジェクトには何が含まれていますか? –
'DateFormat.parse()'のjavadocに注意してください。source - **先頭の**を解析する必要のある文字列。 ... ParseException - 指定された文字列の先頭の**を解析できない場合 –
@krzyk [demo](http://ideone.com/7fZ00p)。それは不思議です – BackSlash