当前位置: 首页 > news >正文

Excel导入日期格式时自动转为五位数文本

问题描述:Excel导入数据时,当数据是日期可能会存在问题,日期格式转为文本了,例如“2023-07-31”接收时变为“45138”,导致后端解析日期出错,无法导入。

解决方法:

方法一:将Excel日期的那一整列设置单元格格式为文本,后端解析字符串格式日期;

方法二:不改变Excel格式,通过转换文本方式得到实际日期;经实际计算是45136,会有2天的误差,这个45136就是1900/01/01到2023/07/31的天数。

代码如下:

if (orderExcel.getFaultTime().length() == 5) { //故障日期//方法一:LocalDate initDate = LocalDate.parse("1900-01-01");LocalDate localDate = initDate.plusDays((long) (Double.parseDouble(orderExcel.getFaultTime()) - 2));log.info("转换后的故障日期为:" + localDate);repairOrder.setFaultTime(localDate);//方法二:由于1900/1/1 到 1970/1/1 之间有 25569 天,所以需要减去25569天,来计算时间戳long l =(long) ((Double.parseDouble(orderExcel.getFaultTime()) - 25569) * 24 * 3600 * 1000);log.info("Epoch point of time is 1970-01-01T00:00:00Z(秒):" + l);LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(l), ZoneId.systemDefault());  //等效于localDateTime = new Timestamp(l).toLocalDateTime();log.info("转换后的故障时间为:" + localDateTime);} else {repairOrder.setFaultTime(LocalDate.parse(orderExcel.getFaultTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd")));
}

http://www.lryc.cn/news/108985.html

相关文章:

  • Mac使用brew安装软件报错
  • Android 实现MQTT客户端,用于门禁消息推送
  • 跨境电商的广告推广怎么做?7个方法
  • 《Java-SE-第二十八章》之CAS
  • git之reflog分析
  • 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(18)-Fiddler如何接口测试,妈妈再也不担心我不会接口测试了
  • Oracle open JDK和 Amazon Corretto JDK的区别
  • Spark写PGSQL分区表
  • Git 命令行登录
  • 性能分析记录
  • Java反射学习(大综合)
  • Vite+Vue3 开发UI组件库并发布到npm
  • vue- form动态表单验证规则-表单验证
  • FPGA学习—通过数码管实现电子秒表模拟
  • 区块链媒体发稿:区块链媒体宣发常见问题解析
  • openGauss学习笔记-28 openGauss 高级数据管理-NULL值
  • DAO和XML文件参数和返回值
  • vue 浏览器右侧可拖拽小组件
  • SpringMvc学习笔记五
  • ORACLE-DG总结
  • 机器学习中的 K-均值聚类算法及其优缺点
  • 【数据化分析和建模】一般步骤(个人工作经验总结)
  • 视频安防监控EasyCVR平台海康大华设备国标GB28181告警布防的报文说明
  • T31开发笔记:librtmp拉流测试
  • 2308C++概念化
  • flutter开发实战-实现自定义按钮类似UIButton效果
  • 深度优先搜索|1034, 1020, 1254
  • 都市信息供求网servlet+jsp新闻广告出售java源代码mysql
  • kubeadm init:failed to pull image registry.k8s.io/pause:3.6
  • 设计模式之简单工厂模式、工厂模式、抽象工厂模式