Excel日期数字转化成时间格式

2024-05-10 20:20

本文主要是介绍Excel日期数字转化成时间格式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、5位数字转化成yyyy/mm/dd

要考虑闰年的小细节

// 输入数字转成日期(5位,excel表格日期),默认转换成YYYY-MM-DD
export function numberToDate(number, format) {if (number != undefined) {let date = new Date((number - 1) * 24 * 3600000 + 1);date.setYear(date.getFullYear() - 70);const Y = date.getFullYear() + '';const dateRel =(Y % 4 === 0 && Y % 100 !== 0) || Y % 400 == 0? new Date((number - 2) * 24 * 3600000 + 1): new Date((number - 1) * 24 * 3600000 + 1);dateRel.setYear(date.getFullYear() - 70);const M = (dateRel.getMonth() + 1 < 10 ? '0' + (dateRel.getMonth() + 1) : dateRel.getMonth() + 1) + '';const D = (dateRel.getDate() < 10 ? '0' + dateRel.getDate() : dateRel.getDate()) + '';if (format && format.length == 1) {return Y + format + M + format + D;} else {return Y + '-' + M + '-' + D;}} else {return undefined;}
}

2、带精度的5位数字转化成yyyy/mm/dd hh:mm:ss

function ExcelDateToJSDate(serial) {var utc_days  = Math.floor(serial - 25569);var utc_value = utc_days * 86400;                                        var date_info = new Date(utc_value * 1000);var fractional_day = serial - Math.floor(serial) + 0.0000001;var total_seconds = Math.floor(86400 * fractional_day);var seconds = total_seconds % 60;total_seconds -= seconds;var hours = Math.floor(total_seconds / (60 * 60));var minutes = Math.floor(total_seconds / 60) % 60;return new Date(date_info.getFullYear(), date_info.getMonth(), date_info.getDate(), hours, minutes, seconds);
}ExcelDateToJSDate(44988.916666666664)
// 获取到的是 Fri Mar 03 2023 22:00:00 GMT+0800 (中国标准时间)

参考网站:
https://blog.csdn.net/vayne_1/article/details/129748002

这篇关于Excel日期数字转化成时间格式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/977458

相关文章

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

java读取excel文件为base64实现方式

《java读取excel文件为base64实现方式》文章介绍使用ApachePOI和EasyExcel处理Excel文件并转换为Base64的方法,强调EasyExcel适合大文件且内存占用低,需注意... 目录使用 Apache POI 读取 Excel 并转换为 Base64使用 EasyExcel 处

java时区时间转为UTC的代码示例和详细解释

《java时区时间转为UTC的代码示例和详细解释》作为一名经验丰富的开发者,我经常被问到如何将Java中的时间转换为UTC时间,:本文主要介绍java时区时间转为UTC的代码示例和详细解释,文中通... 目录前言步骤一:导入必要的Java包步骤二:获取指定时区的时间步骤三:将指定时区的时间转换为UTC时间步

Python Excel 通用筛选函数的实现

《PythonExcel通用筛选函数的实现》本文主要介绍了PythonExcel通用筛选函数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录案例目的示例数据假定数据来源是字典优化:通用CSV数据处理函数使用说明使用示例注意事项案例目的第一

Java利用Spire.XLS for Java设置Excel表格边框

《Java利用Spire.XLSforJava设置Excel表格边框》在日常的业务报表和数据处理中,Excel表格的美观性和可读性至关重要,本文将深入探讨如何利用Spire.XLSforJava库... 目录Spire.XLS for Java 简介与安装Maven 依赖配置手动安装 JAR 包核心API介

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结