首页 > 代码库 > java用POI读取excel时date类型出现的问题

java用POI读取excel时date类型出现的问题

最近用poi读取excel并传入数据库中,但是出现了一个非常奇葩的问题,一直困扰了我很久

就是读取时date类型出现年份和日读取正确,但是月份为00的情况,我冥思苦想了很找了久,一直找不到原因

今天突然发现时自己粗心导致的

 

之前的错误代码:

Date time=new Date();time=cell.getDateCellValue();//按指定格式输出SimpleDateFormat df=new SimpleDateFormat("yyyy/mm/dd hh:mm:ss");								System.out.println("导入的时间:"+time+"   "+df.format(time));

这样输出的结果是

导入的时间:Thu Jan 01 00:00:00 CST 2015   2015/00/01 12:00:00

就是读取出来时对的,但是格式化后就出现了月份为00的问题。这样的错误就是在格式化定义时出现了粗心

SimpleDateFormat df=new SimpleDateFormat("yyyy/mm/dd hh:mm:ss"); 应该改为
SimpleDateFormat df=new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");

不然月份就是用分赋值的,然而分默认为00,所以会出现这样的错误

java用POI读取excel时date类型出现的问题