假设我有以下解析器与joda-time lib for android
DateTimeFormat.forPattern("dd.MM.yyyy").parseDateTime(maybeDate);
Run Code Online (Sandbox Code Playgroud)
我的目标是使用TextWatcher过滤某些editText中的输入,并尝试解析输入并检查它是否为Date.
尽管有4个"y"字母,但以下时间通过了这种模式!
06.12.1(当我试图把2008年12月6日)
格式化程序的PS appendYear(4,4)也失败了.
这遵循与Java相同的规则 SimpleDateFormat
对于解析,如果模式字母的数量大于2,则无论数字位数如何,都按字面解释年份.所以使用"MM/dd/yyyy"模式,"01/11/12"解析到公元12年1月11日
您可能要考虑的一个选项是在解析后格式化值 - 如果它不是往返的(即如果格式化的值与原始文本不同),则将其拒绝为无效.
| 归档时间: |
|
| 查看次数: |
208 次 |
| 最近记录: |