问题描述:springboot项目,Excel 文件导入后日期数据解析变成数字。在项目开发过程中,若使用POI读取Excel 文件中的日期数据,可能会出现日期数据解析变成数字的情况。
我的项目问题:需要的是Date,却获取到了Number类型。
在解析Excel 文件时,会发现表格中显示的日期会变成数字,实际上Excel 表格中存储日期数据的格式就是数字,但我们看到的是日期数据,所以直接从Excel 的 Cell中读取数据后就会出现 日期变成数字的假象。
由于Excel 中的时间是以1900年为起点,读取得到的数字则是自1900年以来经过的天数差值,所以会得到一个数字的日期,要保存到数据库中Date类型只能进行转换。、
Calendar calendar = new GregorianCalendar(1900,0,-1);
Date date = DateUtils.addDays(calendar.getTime(),填入提取出来的数字日期);
我的项目代码:
Calendar calendar = new GregorianCalendar(1900,0,-1);
Date updatedTime = DateUtils.addDays(calendar.getTime(),updatedDateValue.intValue());
Date createdTime = DateUtils.addDays(calendar.getTime(),createdDateValue.intValue());
//对日期格式化操作
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
simpleDateFormat.format(updatedTime);
simpleDateFormat.format(createdTime);
这样得到的date就是正常的日期了。