poi解析excel文件获取日期的格式是数值的解决方法

poi解析excel文件获取日期的格式是数值的解决方法

今天解析excel文件获取日期的时候,本想着是带有格式的日期类似(yyyy-MM-dd或者yyyy/MM/dd)这种,却发现值发现是47331.00带有小数点的值

后来查看excel对应列的格式

poi解析excel文件获取日期的格式是数值的解决方法poi解析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());

 

 

上一篇:统计区域内各类POI总数


下一篇:2020-2021年最全山东省矢量数据(路网含城市道路、铁路(包括地铁、轻轨)高速、国道、省道、县道、乡道+几百万个poi数据+省市县乡镇行政区划+河流水系网+建筑轮廓+30米dem等shp数据