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

vue xlsx读取文件时,日期转换为了天数

标题XLSX读取xlxs文件时,日期2023/2/8转为了44965,把44965转为年月日格式

在Excel中,数字 44965 实际上代表的是Excel内部存储日期的一种数值格式,它基于一个被称为“Excel日期系统”的计数体系。从1900年1月1日(或对于包含1900年2月29日错误的版本是从1900年3月1日开始计算)算起的天数。每个日期都对应一个连续的序列号。

所以,当你看到 44965 这样的数值时,它表示的是从1900年1月1日之后经过的天数。转换回日期格式,我们可以计算出这个数值对应的日期是2023年2月8日。这是因为:

  • 1900年1月1日对应的序号是1
  • 加上44965天后即为2023年2月8日

这种存储方式有助于Excel高效地处理日期和时间,并进行各种日期相关的计算和格式化。如果你在JavaScript或者使用类似xlsx这样的库读取Excel文件时获取到了这样的数字,你需要通过相应的API或公式将其转换回可读的日期格式。


export function excelDateToJSDate(serial: number) {
	const utc_days = Math.floor(serial - 25569);
	const utc_value = utc_days * 86400;
	const date_info = new Date(utc_value * 1000);

	const fractional_day = serial - Math.floor(serial) + 0.0000001;

	let total_seconds = Math.floor(86400 * fractional_day);

	const seconds = total_seconds % 60;

	total_seconds -= seconds;

	const hours = Math.floor(total_seconds / (60 * 60));
	const minutes = Math.floor(total_seconds / 60) % 60;

	return new Date(date_info.getFullYear(), date_info.getMonth(), date_info.getDate(), hours, minutes, seconds);
}

http://www.kler.cn/a/272721.html

相关文章:

  • IM聊天学习资源
  • PyBroker:利用 Python 和机器学习助力算法交易
  • Chrome谷歌浏览器如何能恢复到之前的旧版本
  • 我的世界-与门、或门、非门等基本门电路实现
  • 2025第3周 | json-server的基本使用
  • 人工智能-机器学习之多分类分析(项目实战二-鸢尾花的多分类分析)
  • 【QT入门】VS2019和QT Creator如何添加第三方模块
  • C#,数值计算,矩阵相乘的斯特拉森(Strassen’s Matrix Multiplication)分治算法与源代码
  • Vue2 父子组件某一属性的双向绑定
  • 【软件测试知识】什么是持续集成?
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:RichText)
  • 社区居民医疗健康系统 微信小程序
  • LabVIEW提升舱救援通讯监测系统
  • 香农公式的理解
  • 【Nuxt3】plugins目录介绍和nuxt3插件的用法
  • HackTheBox WifineticTwo
  • 速盾cdn:cdn节点缓存内容不一致怎么办?
  • leetcode 3080
  • 奇数乘积(C语言)
  • Python数据分析-Matplotlib1
  • IOS面试题object-c 131-135
  • TSINGSEE青犀AI烟火识别等算法打造电瓶车消防安全解决方案
  • Docker进阶:离线安装docker社区版(docker-18.06.3-ce)
  • vite+vue3项目中svg图标组件封装
  • 使用canvas实现图纸标记及回显
  • Requests教程-17-请求代理设置