excel 时间格式 bug

bug 描述

Java 后台接收到的 excel 表中时间格式变为数字。
经过查找资料,该数字代表的是从 1990 年到该时间的天数。
so~ 通过一系列格式转换,转为正确的时间格式。

//if-else 判断时间的格式是否有效。
if(!checkDateValid(getCellValue(row.getCell(7)),format)){
   Calendar calendar = new GregorianCalendar(1900,0,-1);
   Date date = calendar.getTime();
   //getCellValue(row.getCell(7) - 被转换为了天数。
   Date dd = DateUtils.addDays(date,Integer.valueOf(getCellValue(row.getCell(7))));
   //时间格式转换
   sysUser.setBirthday(format.parse(format.format(dd)));
}else{
   sysUser.setBirthday(format.parse(getCellValue(row.getCell(7))));
}

//该作用仅仅是为了判断时间格式是否被转换为数值类型。
private boolean checkDateValid(String date,SimpleDateFormat format){
   try{
      format.parse(date);
   }catch(Exception e){
      //not to do
      return false;
   }
   return true;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值