java处理excel⾥⾯的⽇期
可能是因为excel版本的问题的,excel⽇期的格式为yyyy-mm-dd,⽤cells[1].getContents().trim()得到的值是yy-mm-dd,⽐如在excel⾥⾯的值是2010-12-15,读到的是10-12-15,让我很头疼了。最后查了很长的时间,终于⽤下⾯的⽅法解决了,代码如下:
判断是否是⽇期的格式
if (cells[1].getType() == CellType.DATE) {
DateCell dateCell = (DateCell) cells[1];
Date date = Date();
String year = new SimpleDateFormat("yyyy-MM-dd").format(date);
info.setYear(parseTimestamp(year));    //发⽂⽇期
}
//说明:parseTimestamp是⼀个转化时间的⽅法,因为考虑到⽇期的格式可能为2010/12/14,代码如下:
//转换时间戳
public Timestamp parseTimestamp(String date) {
String d = date;
if (date.indexOf("/") > 0) {
d = place("/", "-");
}
String temp = d + " 00:00:00";
try {
java时间日期格式转换
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date time = df.parse(temp);
return new Time());
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
当然可能也有⼈会把⽇期写成⽂本的格式,所以可以在判断是否是⽇期格式的后⾯,再加⼀个判断,代码如下:
1if (cells[1].getType() == CellType.LABEL) {
2    info.setYear(parseTimestamp(cells[1].getContents().trim()));//项⽬起始⽇期
3 }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。