js读取excel中日期格式转换问题

在使用js-xlsx插件来读取excel时,会将2018/10/16这种数据自动装换成48264.12584511.

所以需要自己手动再转换回来

// excel读取2018/01/01这种时间格式是会将它装换成数字类似于46254.1545151415 numb是传过来的整数数字,format是之间间隔的符号
    formatDate(numb, format) {
      const time = new Date((numb - 1) * 24 * 3600000 + 1)
      time.setYear(time.getFullYear() - 70)
      const year = time.getFullYear() + ‘‘
      const month = time.getMonth() + 1 + ‘‘
      const date = time.getDate() - 1 + ‘‘
      if (format && format.length === 1) {
        return year + format + month + format + date
      }
      return year + (month < 10 ? ‘0‘ + month : month) + (date < 10 ? ‘0‘ + date : date)
    },  console.log(formatDate(42618, ‘/‘)) // 2016-9-5

关于excel导入导出以及该方法的具体使用请浏览https://www.cnblogs.com/cazj/p/10912439.html

原文地址:https://www.cnblogs.com/cazj/p/10942875.html

时间: 2024-10-26 08:42:44

js读取excel中日期格式转换问题的相关文章

php读取excel中的时间转换问题

今天要做数据导入:把2012-5-10 16:00:00 读入到php中后变成了41039.666666667 找了一段时间找到一种比较好的解决方法,具体的原理后续补上 $t = 41039.666666667; //读取到的值$n = intval(($t - 25569) * 3600 * 24); //转换成1970年以来的秒数echo gmdate('Y-m-d H:i:s', $n);//格式化时间 后来发现这个东西还不是太好用精确到秒的话会有一定的误差! 原来还有更简单的方法: 把这

[js] js和C# 时间日期格式转换

下午在搞MVC和EXTJS的日期格式互相转换遇到了问题,我们从.NET服务器端序列化一个DateTime对象的结果是一个字符串格式,如 '/Date(1335258540000)/' 这样的字串. 整数1335258540000实际上是一个1970 年 1 月 1 日 00:00:00至这个DateTime中间间隔的毫秒数.通过javascript用eval函数可以把这个日期字符串转换为一个带有时区的Date对象,如下 用var date = eval('new ' + eval('/Date(

js和C# 时间日期格式转换

下午在搞MVC和EXTJS的日期格式互相转换遇到了问题,我们从.NET服务器端序列化一个DateTime对象的结果是一个字符串格式,如 '/Date(1335258540000)/' 这样的字串. 整数1335258540000实际上是一个1970 年 1 月 1 日 00:00:00至这个DateTime中间间隔的毫秒数.通过javascript用eval函数可以把这个日期字符串转换为一个带有时区的Date对象,如下 用var date = eval('new ' + eval('/Date(

SQL Server 中日期格式转换CONVERT(varchar, getdate(), 120 )

CONVERT(varchar, getdate(), 120 ) 这是一个mssql数据库的函数,Convert函数的作用,是进行数据类型的转换. 而您所问的这个convert(char(20),openDate,120)则是对日期字段,进行格式化转换成字符格式的函数. 接下来,对您函数中的三个参数,分别进行说明: 1.char(20),是要转换成的目标数据类型及长度,这里您还可以使用varchar(20),也可以使用varchar(10),如果使用20,则转换后的字符串可以是20的长度,如果

Spring中日期格式转换

一.背景 使用SSM+Maven搭建项目 其中Mysql中 日期字段是DATETIME类型 Controller返回给前端的Json数据的是long类型   "Date":"1528324651545" 我需要的是yyyy-MM-dd格式的 二.解决 1.在该实体对应的mapper文件里,修改resultMap中列的数据类型 1 <mapper namespace="com.ssm.mapper.PeopleMapper"> 2 3

sql 中日期格式转换成varchar

select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select CONVERT(varchar(12) , getdate(), 112 ) 20040912

linq中日期格式转换或者比较,程序报错说不支持方法的解决办法

public void TestMethod1(){using (var _context = new hotelEntities()){var rq = DateTime.Now.Date;var query = from q in _context.UV_RZJL_RZRY_Singlewhere SqlFunctions.DateDiff("day",rq,q.LDRQ)>0select q;Assert.Inconclusive(query.Count().ToStrin

java中日期格式的转换和应用

java中主要有3个类用于日期格式转换    DateFormat .SimpleDateFormat.Calendar 1.SimpleDateFormat 该类是DateFormat的子类,一般日期的格式化都是实例化该类实现 具体应用如下 package com.gree.java; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.log

在SQL Server中 获取日期、日期格式转换

--常用日期转换参数: PRINT CONVERT(varchar, getdate(), 120 ) 2016-07-20 16:09:01 PRINT replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') 20040912110608 PRINT CONVERT(varchar(12) , getdate(), 111 ) 2004/09/12 PRINT CONVERT(varch