如何使用SimpleDateFormat以多种格式解析日期 我正试图解析文档中的一些日期。用户输入这些日期的格式与此相似,但格式不准确。以下是格式:9/099/200909/20099/1/20099-1-2009 尝试解析所有这些问题的最佳方法是什么?这些似乎是最常见的,但我想挂我的是,如果我有“M/yyy”的模式-总是在“MM/yyy”之前捕获,那么我是否必须以对最严格的方式进行嵌套的最少限制的方式来设置我的try/catch块呢?看起来,要做到这一点,肯定需要大量的代码复制。
3 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
SimpleDateFormat
编号:
对于格式设置,模式字母的数量是最小的数字数,较短的数字是零填充到此数量。对于解析,除非需要将两个相邻字段分开,否则将忽略模式字母的数量。
"M/y"
(包括 9/09
,9/2009
,和 09/2009
)"M/d/y"
(包括 9/1/2009
)"M-d-y"
(包括 9-1-2009
)
// ...List<String> formatStrings = Arrays.asList("M/y", "M/d/y", "M-d-y");// ...Date tryParse(String dateString){ for (String formatString : formatStrings) { try { return new SimpleDateFormat(formatString).parse(dateString); } catch (ParseException e) {} } return null;}
添加回答
举报
0/150
提交
取消