我收到一个表示日期的字符串,我需要将此字符串转换为日期,并验证字符串是否为有效日期.
我收到字符串33-12-2013一个解析方法返回日期01-01-2014,代码:
Date fechaVencimientoFormateada; SimpleDateFormat formateador = new SimpleDateFormat( "dd-MM-yyyy" ); try { fechaVencimientoFormateada = formateador.parse( "33-12-2013" ); System.out.println( formateador.format(fechaVencimientoFormateada) ); } catch ( ParseException e ) { System.out.println("ERROR!"); }
输出:2014年1月2日00:00:00 COT 2014
我期待一个ParseException,任何想法?
和其他例子:
字符串日期:365-12-2013输出:Sun Nov 30 00:00:00 COT 2014
字符串日期:1-24-2013输出:2014年12月1日00:00:00 COT 2014
为什么ParseException不抛?
确保你setLenient(false)
在SimpleDateFormat
.否则它会毫无例外地解析许多无效日期,你不能太信任输出.