關(guān)于導(dǎo)入excel時js轉(zhuǎn)換時間的正確方式
一、基礎(chǔ)
1、excel的日期是以1900-1-0開始計算的,既1900-1-1就是1天;
2、js的Date是以 1970-1-1 08:00:00 開始的;
excel時間換算如下:

點擊常規(guī)后變化如下:

二、問題描述
往往我們在做excel導(dǎo)入的時候,解析出來的是一個數(shù)字時間,這時候就有必要進(jìn)行時間格式化轉(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é)
到此這篇關(guān)于導(dǎo)入excel時js轉(zhuǎn)換時間的正確方式的文章就介紹到這了,更多相關(guān)導(dǎo)入excel時js轉(zhuǎn)換時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JavaScript中各種時間轉(zhuǎn)換問題詳解(YYYY-MM-DD、時間戳、中國標(biāo)準(zhǔn)時間)
- JS的時間格式化和時間戳轉(zhuǎn)換函數(shù)示例詳解
- js時間轉(zhuǎn)換毫秒的實例代碼
- JS將時間秒轉(zhuǎn)換成天小時分鐘秒的字符串
- 淺談在Vue.js中如何實現(xiàn)時間轉(zhuǎn)換指令
- Vue.js 時間轉(zhuǎn)換代碼及時間戳轉(zhuǎn)時間字符串
- js實現(xiàn)把時間戳轉(zhuǎn)換為yyyy-MM-dd hh:mm 格式(es6語法)
- JS中國標(biāo)準(zhǔn)時間轉(zhuǎn)化為年月日時分秒'yyyy-MM-dd hh:mm:ss'的示例詳解
相關(guān)文章
JavaScript的DOM與BOM的區(qū)別與用法詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript的DOM與BOM的區(qū)別與用法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
如何利用微信小程序獲取OneNet平臺數(shù)據(jù)顯示溫濕度
最近在工作中遇到了一個需求,需要顯示溫濕度,網(wǎng)上找了一圈沒找到解決方法,所以只能自己寫一個,這篇文章主要給大家介紹了關(guān)于如何利用微信小程序獲取OneNet平臺數(shù)據(jù)顯示溫濕度的相關(guān)資料,需要的朋友可以參考下2022-03-03
uni-app使用Vite.config.js配置文件的超詳細(xì)教程
這篇文章主要給大家介紹了關(guān)于uni-app使用Vite.config.js配置文件的超詳細(xì)教程,在uniapp開發(fā)中,vue.config.js是配置webpack的關(guān)鍵文件之一,也可以說是uniapp項目自定義配置的中心,需要的朋友可以參考下2023-12-12
css值轉(zhuǎn)換成數(shù)值請拋棄parseInt
絕大多數(shù)人喜歡用parseInt()把css中的字符串值轉(zhuǎn)換成數(shù)值2011-10-10
window.event快達(dá)到全瀏覽器支持了,以后使用就方便了
在Tangram群里討論到<a href="#" onclick="baidu.event.preventDefault(event);">的寫法時,以為標(biāo)準(zhǔn)瀏覽器只能用arguments[0]來獲取到event,結(jié)果nodiseal同學(xué)說已經(jīng)可以這么用了,于是做了以下測試2011-11-11
EasyUI的DataGrid綁定Json數(shù)據(jù)源的示例代碼
本篇文章主要介紹了EasyUI的DataGrid綁定Json數(shù)據(jù)源的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12

