日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/31 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js读取excel中日期格式转换问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方法一、

在使用js-xlsx插件來讀取excel時,會將2018/10/16這種數據自動裝換成48264.12584511.

所以需要自己手動再轉換回來

// excel讀取2018/01/01這種時間格式是會將它裝換成數字類似于46254.1545151415 numb是傳過來的整數數字,format是之間間隔的符號

1.方法①:?

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

2. 方法②:

//excel日期格式轉換 numb為數字,format為拼接符“-”function formatDate(numb, format) {// 1. 第一種寫法if (numb != undefined) {let time = new Date((numb - 1) * 24 * 3600000 + 1)time.setYear(time.getFullYear() - 70)let year = time.getFullYear() + ''let month = time.getMonth() + 1 + ''let date = time.getDate() + ''if (format && format.length === 1) {return year + format + month + format + date}return year + (month < 10 ? '0' + month : month) + (date < 10 ? '0' + date : date)} else {return undefined;}// 2. 第二種寫法let time = new Date( (numb - 25567) * 24 * 3600000 - 5 * 60 * 1000 -43 * 1000 - 24 * 3600000 - 8 * 3600000 );let year = time.getFullYear() + ''let month = time.getMonth() + 1 + ''let date = time.getDate() + ''if (format && format.length === 1) {return year + format + month + format + date}return year + (month < 10 ? '0' + month : month) + (date < 10 ? '0' + date : date)}

方法二、時分秒轉換:

function formatTime(numb, format) {var hourTmp = numb * 24;var hour = Math.floor(hourTmp);var minuteTmp = hourTmp - hour;var minute = Math.round(minuteTmp * 60);return (hour < 10 ? '0' + hour : hour) + format + (minute < 10 ? '0' + minute : minute); }

方法三、Js如何將一串數字轉換為時間格式yyyy-MM-dd hh:mm:ss

var time='20190306214635' time.replace(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/g, '$1-$2-$3 $4:$5:$6');

輸出?

2019-03-06 21:46:35

方法四、

今天寫了一個ajax請求,當獲取對象中的某個日期屬性時,發現打印出來是一串數字,例如:1394786876000。可能有人會有疑問了,明明是日期格式,為什么不返回日期,而返回一串數字呢?其實這串數字是個時間戳,也就是從格林威治時間1970年01月01日00時00分00秒起至返回的那個日期的總秒數。如何將時間戳轉化為我們需要的格式呢。

在此只介紹一種簡單的方法,也是我從網上找來的:

1、在js中先加載一下代碼,不需要做任何修改Date.prototype.format =function(format){var o = {"M+" : this.getMonth()+1, //month"d+" : this.getDate(), //day"h+" : this.getHours(), //hour"m+" : this.getMinutes(), //minute"s+" : this.getSeconds(), //second"q+" : Math.floor((this.getMonth()+3)/3), //quarter"S" : this.getMilliseconds() //millisecond}if(/(y+)/.test(format)) format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4- RegExp.$1.length));for(var k in o)if(new RegExp("("+ k +")").test(format))format = format.replace(RegExp.$1,RegExp.$1.length==1? o[k] :("00"+ o[k]).substr((""+ o[k]).length));return format;}2、使用new Date(時間戳).format('yyyy-MM-dd')方法進行轉化即可,返回的就是yyyy-MM-dd格式的值。

最后為了方便大家的溝通與交流請加QQ群:?625787746

請進QQ群交流:【IT博客技術分享群①】:正在跳轉

總結

以上是生活随笔為你收集整理的js读取excel中日期格式转换问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。