发现问题:
1.导入时间有时候可以直接直接转换为时间(2024-06-20 09:14:33)
2.有的导入进去是五位小数 会解析报错(2024/6/16 10:21:07)
问题分析 :
经过尝试和同事沟通 ,是因为导入文件中的文本格式 只有文本格式是 ---- 文字 的时候才能正常解析为---2024-06-20 09:14:33 主要还是文档的单元格格式
解决办法:
1.找产品调整需求 ,规避这个问题 ,对于用户不友好
2.第一个行不通的话 ,就让操作人将格式写成 --- 文字
3.最不想用的方法--- 傻瓜式的代码转换(记得进行调试) -----
Double fromString = new Double(compensationTime);
//由于1900/1/1 到 1970/1/1 之间有 25569 天,所以需要减去25569天,来计算时间戳
long l =(long) ((fromString - 25569) * 24 * 3600 * 1000)-28800000;
log.info("Epoch point of time is 1970-01-01T00:00:00Z(秒):" + l);
LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(l), ZoneId.systemDefault());
Date from = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());