vue DatePicker日期選擇器時(shí)差8小時(shí)問題
vue DatePicker日期選擇器時(shí)差8小時(shí)
vue中使用element-ui中的日期選擇器組件時(shí),會(huì)造成時(shí)區(qū)差。
在向數(shù)據(jù)庫(kù)中做保存時(shí)發(fā)現(xiàn)傳輸?shù)臅r(shí)間參數(shù)和前端控件所選時(shí)間端不匹配(相差8小時(shí)), 調(diào)試發(fā)現(xiàn)與后端接口沒有問題,是控件本身的原因。
1.牽扯到國(guó)際時(shí)間和北京時(shí)間
2.中國(guó)國(guó)家標(biāo)準(zhǔn)時(shí)間是東經(jīng)120°(東八區(qū))的地方時(shí)間,同格林威治時(shí)間(世界時(shí))整整相差8小時(shí)
解決方法:
設(shè)置value-format 屬性, 精確到時(shí)間段value-format=“yyyy-MM-dd HH” 即可.
eg:
<el-table-column label="發(fā)證日期" align="center" min-width="150"> <template slot-scope="scope"> <el-form-item :prop="'tableData.'+scope.$index+'.fzrq'" :rules="ZZrules.fzrq"> <el-date-picker style="width:150px" :picker-options="FZTime" v-model="scope.row.fzrq" @change="startTimeStatus($event)" type="date" value-format="yyyy/MM/dd" format="yyyy/MM/dd" placeholder="選擇日期" clearable> </el-date-picker> </el-form-item> </template> </el-table-column> <el-table-column label="證書有效期" align="center" min-width="150"> <template slot-scope="scope"> <el-form-item :prop="'tableData.'+scope.$index+'.zsyxq'" :rules="ZZrules.zsyxq"> <el-date-picker style="width:150px" :picker-options="YXQTime" v-model="scope.row.zsyxq" type="date" @change="endStatus($event)" value-format="yyyy/MM/dd" format="yyyy/MM/dd" placeholder="選擇日期" clearable> </el-date-picker> </el-form-item> </template> </el-table-column>
3.溫馨提示:
在對(duì)日期做校驗(yàn)時(shí)同樣存在一個(gè)問題,校驗(yàn)格式會(huì)提示·····不是日期格式的一串英文,這是因?yàn)榍岸伺c后臺(tái)格式不統(tǒng)一造成的,value-format和format格式要保持一致,而且有可能你的時(shí)間已經(jīng)是string類型,并不一定是date類型。要仔細(xì)檢查,我是被坑到了···
我的校驗(yàn)文件:
fzrq: [ { type: "string", required: true, message: "發(fā)證日期不可為空", trigger: "change", pattern: /.+/, }, ], zsyxq: [ { type: "string", required: true, message: "證書有效期不可為空", trigger: "change", pattern: /.+/, }, ],
vue中moment時(shí)間戳問題(時(shí)區(qū)問題)
接手的vue項(xiàng)目中使用了moment模塊,導(dǎo)致出現(xiàn)了一些問題。
北京時(shí)間 = UTC/GMT+8小時(shí)(東八區(qū)) ,世界標(biāo)準(zhǔn)時(shí)間加上8小時(shí)就是北京時(shí)間,今天踩到一個(gè)大坑,后端傳回來(lái)的時(shí)間戳是世界時(shí)間轉(zhuǎn)成的,當(dāng)我用當(dāng)前時(shí)間的時(shí)間戳減后端傳回的時(shí)間戳去計(jì)算時(shí)長(zhǎng)的時(shí)候發(fā)現(xiàn)不對(duì)勁,明明時(shí)長(zhǎng)只有40分鐘左右,計(jì)算出來(lái)的時(shí)長(zhǎng)卻是8小時(shí)40分鐘,后面才知道,后端傳回來(lái)的時(shí)間戳是世界時(shí)間轉(zhuǎn)成的。
所以我前端要把當(dāng)前時(shí)間戳減去8小時(shí)的時(shí)差再去減后端傳回來(lái)的時(shí)間戳。這樣計(jì)算出來(lái)的時(shí)間才是正確的。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue中使用animate.css實(shí)現(xiàn)炫酷動(dòng)畫效果
這篇文章主要介紹了vue中使用animate.css實(shí)現(xiàn)動(dòng)畫效果,我們使用它,只需要寫很少的代碼,就可以實(shí)現(xiàn)非常炫酷的動(dòng)畫效果,感興趣的朋友跟隨小編一起看看吧2022-04-04vue?頁(yè)面卡死,點(diǎn)擊無(wú)反應(yīng)的問題及解決
這篇文章主要介紹了vue?頁(yè)面卡死,點(diǎn)擊無(wú)反應(yīng)的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10Vue echarts封裝組件需求分析與實(shí)現(xiàn)
在平常的項(xiàng)目中,echarts圖表我們也是使用的非常多的,通常我們從后端拿到數(shù)據(jù),需要在圖表上動(dòng)態(tài)的進(jìn)行呈現(xiàn),接下來(lái)我們就模擬從后端獲取數(shù)據(jù)然后進(jìn)行呈現(xiàn)的方法,這篇文章主要介紹了Vue echarts封裝組件需求分析與實(shí)現(xiàn)2022-10-10uniapp項(xiàng)目國(guó)際化標(biāo)準(zhǔn)的配置與實(shí)現(xiàn)
UniApp是一種基于Vue.js的跨平臺(tái)開發(fā)框架,可以快速地開發(fā)同時(shí)運(yùn)行在多個(gè)平臺(tái)的應(yīng)用程序,這篇文章主要介紹了uniapp項(xiàng)目國(guó)際化標(biāo)準(zhǔn)的配置與實(shí)現(xiàn),需要的朋友可以參考下2023-11-11vue預(yù)覽本地pdf文件方法之vue-pdf組件使用
這篇文章主要介紹了vue預(yù)覽本地pdf文件方法之vue-pdf組件使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03Vue實(shí)現(xiàn)點(diǎn)擊導(dǎo)航欄當(dāng)前標(biāo)簽后變色功能
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)點(diǎn)擊導(dǎo)航欄當(dāng)前標(biāo)簽后變色功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08使用antv替代Echarts實(shí)現(xiàn)數(shù)據(jù)可視化圖表詳解
這篇文章主要為大家介紹了使用antv替代Echarts實(shí)現(xiàn)數(shù)據(jù)可視化圖表詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08electron-vue利用webpack打包實(shí)現(xiàn)多頁(yè)面的入口文件問題
項(xiàng)目需要在electron的項(xiàng)目中新打開一個(gè)窗口,利用webpack作為靜態(tài)資源打包器,發(fā)現(xiàn)在webpack中可以設(shè)置多頁(yè)面的入口,今天來(lái)講一下我在electron中利用webpack建立多頁(yè)面入口的踩坑經(jīng)驗(yàn),需要的朋友可以參考下2019-05-05