使用eaysexcel时里面的日期转换问题

在使用EasyExcel处理Excel时遇到日期转换问题,实际读取到的是日期序列号(如43458.234189814815)。Excel中的日期以浮点数形式存储,整数部分代表日期,小数部分代表时间,起始于1900年1月1日。由于1900年2月29日的错误,需要注意日期范围。可以通过手动转换或使用POI的内置方法将序列号转为日期。
摘要由CSDN通过智能技术生成

使用easyexcel进行excel读取时,发现对日期的转换不对,读取到的日期是一个dubble型的浮点数。比如说43458.234189814815
经查资料,这个浮点数其实就是excel内部存储时间的形式,也叫时间序列号

规则如下:
Excel将日期和时间存储为称为日期序列号或日期时序列号的数字。
当你在Excel中查看日期时,它实际上是一个常规数字,其格式设置为日期。如果将单元格格式更改为“常规”,则会看到基础日期序列号。
日期序列号的整数部分表示日期,小数部分表示时间。日期从1900年1月1日开始,即1/1/1900的日期序列号为1。

警告!1900年2月28日之后的Excel日期实际上是一天。Excel表现得好像1900年2月29日存在,但事实并非如此。
Microsoft故意在Excel中包含此错误,以便它与当时占据大部分市场份额的电子表格程序保持兼容;
但是这个bug,只要您的所有日期都晚于1900年3月1日,这不是问题。

日期
Excel中,这些被称为“日期序列号”,它们使我们能够进行数学计算并在公式中使用日期。

Excel日期序列号示例

“日期序列号”列显示日期序列号等效的“日期”列值。

例如,2017年1月1日有42736.即日期序号 , 2017年1月是42736天自 1899年12月31日。

提示:将日期序列号列格式化为日期,您将看到它们与日期列值相同。

时间
时间也使用序列号格式并表示为小数部分。

小时:由于24小时= 1天,我们可以推断24小时的时间序列号为1,可以格式化为24:00或12:00 AM或0:00显示的时间。而12小时或12:00的时间值为0.5

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值