關于導入excel時js轉(zhuǎn)換時間的正確方式
一、基礎
1、excel的日期是以1900-1-0開始計算的,既1900-1-1就是1天;
2、js的Date是以 1970-1-1 08:00:00 開始的;
excel時間換算如下:
點擊常規(guī)后變化如下:
二、問題描述
往往我們在做excel導入的時候,解析出來的是一個數(shù)字時間,這時候就有必要進行時間格式化轉(zhuǎn)換了!
三、解決思路
1、用1970-1-1減去1900-1-1得到相差為:25567天 0小時 5分鐘 43秒;
2、減去多出來的1天8小時;
js代碼如下:
let time = new Date((43831-25567) * 24 * 3600000 - 5 * 60 * 1000 - 43 * 1000 - 24 * 3600000 - 8 * 3600000) let year = time.getFullYear() + '' console.log('year:'+year) let month = time.getMonth() + 1 + '' console.log('month:'+month) let date = time.getDate() + '' console.log('data:'+date)
附:js讀取excel中日期格式轉(zhuǎn)換問題
在使用js-xlsx插件來讀取excel時,會將2018/10/16這種數(shù)據(jù)自動裝換成48264.12584511.
所以需要自己手動再轉(zhuǎn)換回來
// excel讀取2018/01/01這種時間格式是會將它裝換成數(shù)字類似于46254.1545151415 numb是傳過來的整數(shù)數(shù)字,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
總結(jié)
到此這篇關于導入excel時js轉(zhuǎn)換時間的正確方式的文章就介紹到這了,更多相關導入excel時js轉(zhuǎn)換時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaScript的DOM與BOM的區(qū)別與用法詳解
這篇文章主要為大家詳細介紹了JavaScript的DOM與BOM的區(qū)別與用法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03如何利用微信小程序獲取OneNet平臺數(shù)據(jù)顯示溫濕度
最近在工作中遇到了一個需求,需要顯示溫濕度,網(wǎng)上找了一圈沒找到解決方法,所以只能自己寫一個,這篇文章主要給大家介紹了關于如何利用微信小程序獲取OneNet平臺數(shù)據(jù)顯示溫濕度的相關資料,需要的朋友可以參考下2022-03-03uni-app使用Vite.config.js配置文件的超詳細教程
這篇文章主要給大家介紹了關于uni-app使用Vite.config.js配置文件的超詳細教程,在uniapp開發(fā)中,vue.config.js是配置webpack的關鍵文件之一,也可以說是uniapp項目自定義配置的中心,需要的朋友可以參考下2023-12-12css值轉(zhuǎn)換成數(shù)值請拋棄parseInt
絕大多數(shù)人喜歡用parseInt()把css中的字符串值轉(zhuǎn)換成數(shù)值2011-10-10window.event快達到全瀏覽器支持了,以后使用就方便了
在Tangram群里討論到<a href="#" onclick="baidu.event.preventDefault(event);">的寫法時,以為標準瀏覽器只能用arguments[0]來獲取到event,結(jié)果nodiseal同學說已經(jīng)可以這么用了,于是做了以下測試2011-11-11EasyUI的DataGrid綁定Json數(shù)據(jù)源的示例代碼
本篇文章主要介紹了EasyUI的DataGrid綁定Json數(shù)據(jù)源的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12