2012-10-07 34 views
1

假設我有以下與喬達時間LIB解析器爲Android喬達時間forPattern不正確使用4位數的年工作

DateTimeFormat.forPattern("dd.MM.yyyy").parseDateTime(maybeDate); 

我的目標是在一些EDITTEXT與TextWatcher過濾輸入和嘗試解析輸入並檢查它是否是日期。

儘管有4個「y」字母,但下列時間通過此模式!

06.12.1(當我試圖把1988年6月12日)

附: formatter的appendYear(4,4)也失敗。

回答

5

這遵循相同的規則,Java的SimpleDateFormat

用於解析,如果模式字母的數量爲2個以上,全年字面解釋,無論位數的數字。因此使用模式「MM/DD/YYYY」,「01/11/12」解析到1月11日,公元12你可能要考慮解析後格式化值

一種選擇 - 如果它不」 t往返(即如果格式化的值與原始文本不同),將其拒絕爲無效。