EXCEL导入日期变成5位数字的解决方法

您所在的位置:网站首页 为啥excel输入日期会变成字符 EXCEL导入日期变成5位数字的解决方法

EXCEL导入日期变成5位数字的解决方法

2023-12-13 20:49| 来源: 网络整理| 查看: 265

例如EXCEL中导入日期为2020/9/16,后台接收到的是 44090的5位数字(经实际计算是44088,有2天的误差),这个44088就是1900/01/01到2020/09/16的天数,需要将这个天数从1900/01/01加回去,获得EXCEL中的导入日期。

java代码:

//importParam 后台接收的值 //importDate 导入文档中的实际日期 if(importParam.equals("UNDEFINED") || importParam.equals("NULL")){ object.setDate(null); }else{ if(importParam.length() == 5){ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); Date date = dateFormat.parse("1900/01/01"); int day = Integer.parseInt(importParam); Date importDate = DateCalculate.addDate(date, (day-2)); object.setDate(importDate); }else{ object.setDate(dateFormat.parse(importParam)); } } /** * 日期计算工具类 * @author WB */ public class DateUtil { private static Calendar fromCal = Calendar.getInstance(); /** * 按日期加天数得出全新日期 * @param date 需要加天数的日期 * @param day 需要增加的天数 * @return 新的日期 */ public static Date addDate(Date date, int day) { try { fromCal.setTime(date); fromCal.add(Calendar.DATE, day); return fromCal.getTime(); } catch (Exception e) { return null; } } }

**注:**将导入日期改成文本格式则不会出现5位数字,但需要和客户特别说明。 **注2:EXCEL中真日期(yyyy/MM/dd、yyyy-MM-dd)转文本需要在前加英文单引号’,比如’2020/12/26,避免出现5位数字



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3