excel导入自定义单元格式yyyy/m/d h:mm:ss时间方法
今天在写一个利用poi导入excel到数据库的demo时,发现当我自定义了excel的单元格式为yyyy/m/d h:mm:ss,一般方式好像行不通。
我写的导入是先创建一个String类型的list,然后从第二行开始读取,先存到list里面,然后通过类型转换,放到对应的实体类对象里面去,最后在调用mapper的新增方法。
调用cell.getStringCellValue()时,返回的是44802.598900462966,我最开始打算直接
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("44802.598900462966")
但是这样明显行不通,然后网上绝大多数帖子都是关于excel自己的那些时间类型,很少有自定义到时分秒的,终于找到了一篇相关的帖子 原文链接:https://blog.youkuaiyun.com/weixin_39600885/article/details/114659273
最后附上我的代码
Date lastLoginTime = org.apache.poi.ss.usermodel.DateUtil.getJavaDate(Double.parseDouble(list.get(2)));
因为我这里的list是String类型,所以做了一个String转double的操作,这个最后的返回类型是
Mon Aug 29 14:22:25 CST 2022
再次感谢原文作者