日期:2014-05-20 浏览次数:20728 次
try{ 按"yyyy.MM.dd"转换; 返回转换好的Date; }catch (Exception e){ //doNothing; } try{ 按"yyyy.MM"转换; 返回转换好的Date; }catch(Exception e){ //doNothing; } ...... 走到最后则说明是无法识别的格式,返回空串;(或者抛出异常==)
------解决方案--------------------
楼上正解.
------解决方案--------------------
统一用
cell.getStringCellValue().trim()取字符
然后再调用以下方法转换格式
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str = "1990.8.8"; //String str2 = "1990-9-4"; parseDate(str); } /**** * 日期String串转Date * @param str * @return */ public static Date parseDate(String str){ Date d = new Date(); if(str.indexOf('.')!=-1){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); try { d = sdf.parse(str); System.out.println(sdf.format(d)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(str.indexOf('-')!=-1){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); try { d = sdf.parse(str); System.out.println(sdf.format(d)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return d; }