最近用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,所以会出现这样的错误