上传的excel日期为“1988/9/1”,java使用jxl包读取结果为"19-9-1",年份缺少了前面的两位.
解决方法是使用DateCell.
如下面的代码:
Cell cell=sheet.getCell(i, j);
DateCell dc = (DateCell)cell;
bean.setBirthday(dc.getDate()); 在Excel中输入2008-01-02或1902年1月10日,都能正确读出日期。
其中的方便之处就是可以直接与java的date对接,不必再做转换。
不知道时,自己还傻傻的写了一个转换的方法:
private Date getTime(String value){
if(StringUtils.isEmpty(value)){
return null;
}
Date formatDate=null;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");
try {
formatDate=sdf.parse(value);
} catch (ParseException e) {
sdf=new SimpleDateFormat("yyyyMMdd");
try {
formatDate=sdf.parse(value);
} catch (ParseException e1) {
sdf=new SimpleDateFormat("yyyy-MM-dd");
try {
formatDate=sdf.parse(value);
} catch (ParseException e2) {
return null;
}
}
}
return formatDate;
}