今天解析excel文件获取日期的时候,本想着是带有格式的日期类似(yyyy-MM-dd或者yyyy/MM/dd)这种,却发现值发现是47331.00带有小数点的值
后来查看excel对应列的格式
后来查阅资料发现这个数值是获取1900年的,然后往前或者往后推多少天然后得到填写的日期
比如说excel填写的日期的2029-08-01,那就是1900-01-01往后加47331天就是日期2029-08-01
那现在知道了问题,就好解决了,首先获取1900年份
Calendar calendar = new GregorianCalendar(1900,0,-1);
Date date = calendar.getTime();
然后加上获取到的天数得到实际的日期
Date realDate = DateUtils.addDays(date,Double.valueOf(endDate).intValue());