SimpleDateFormat模式是「yyyyMM」,arg是yyyy-MM,但沒有異常和錯誤的結果。爲什麼? THX ~~java SimpleDateFormat模式與參數不同
SimpleDateFormat format = new SimpleDateFormat("yyyyMM");
System.out.println(format.format(format.parse("2011-07")));
結果是201105
SimpleDateFormat模式是「yyyyMM」,arg是yyyy-MM,但沒有異常和錯誤的結果。爲什麼? THX ~~java SimpleDateFormat模式與參數不同
SimpleDateFormat format = new SimpleDateFormat("yyyyMM");
System.out.println(format.format(format.parse("2011-07")));
結果是201105
使用setLenient(false)
;它會拋出你期望的異常。
輸入到parse
是錯誤的,儘量
的System.out.println(format.format(format.parse( 「201107」)));
與2011-07年相比,它將該月解釋爲負7個月,其結果爲201005(12-7 = 5)。
有點奇怪,但它看起來像是一年正確,然後是-7,因此12-7 = 5 – Blem
@Blem:正確。如果你看看源代碼,甚至還有特殊的邏輯來識別阿拉伯文本中的減號(它們被放置在數字後面) –