vue項目開發,前端傳入時間為UTC 通用標准時如2018-07-16T16:00:00.000Z,格式化為正常時間yyyy-MM-dd


vue開發項目時,前期已經根據需求定制好前后端接口數據格式。但當前后端進行接口調試,遇到時間傳入有問題,抓包發現是傳入的時間有問題,如2018-07-16T16:00:00.000Z。

<template>
    <el-date-picker v-model="dateValue1" type="date" placeholder="開始日期">
    </el-date-picker>
</template>

綁定的data值:

data() {
    return {
        dateValue1: "2018-07-01",
        dateValue2: "2018-11-05",
    }
}               

修改data值,beginTime:2018-07-17,endTime:2018-07-21

 

   在解決上述問題之前,我們首先要了解什么是UTC通用標准時:UTC即為世界標准時間,世界統一時間,國際協調時間,字母T是時間和日期的分隔符,T后面表示的即為時間,末尾的z表示UTC統一時間
  通過上述解釋UTC通用標准時,我們就可以針對此問題進行解決,有兩種方法可以將UTC通用標准時轉換為GST(北京時間),也就是我們正常使用傳給后台的時間:

1.傳統方法,利用函數格式轉換
 1 //修改日期格式
 2             format(time, format) {
 3                 var t = new Date(time);
 4                 var tf = function (i) { return (i < 10 ? '0' : '') + i };
 5                 return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) {
 6                     switch (a) {
 7                         case 'yyyy':
 8                             return tf(t.getFullYear());
 9                             break;
10                         case 'MM':
11                             return tf(t.getMonth() + 1);
12                             break;
13                         case 'mm':
14                             return tf(t.getMinutes());
15                             break;
16                         case 'dd':
17                             return tf(t.getDate());
18                             break;
19                         case 'HH':
20                             return tf(t.getHours());
21                             break;
22                         case 'ss':
23                             return tf(t.getSeconds());
24                             break;
25                     }
26                 })
27             }
28    //調用上述方法進行格式轉換:
29    this.axios.post("personnelface/freq/getfreqstat", {
30                             beginTime: this.format(me.dateValue1,'yyyy-MM-dd'),
31                             endTime: this.format(me.dateValue2,'yyyy-MM-dd'),
32                               ..........
33                     })
34                     .
35                     .
36                     .
37                     .
38                     .
39                     省略

 

2.通過moment.js,進行格式轉換
首先安裝moment.js:
  npm install moment -s
其次在main.js引入moment.js:
  import moment from “moment”
  Vue.prototype.$moment = moment;

 1 //借助moment.js進行轉換
 2 var dateValue1 = me.$moment(me.dateValue1).format('YYYY-MM-DD HH:mm:ss');
 3 var dateValue2 = me.$moment(me.dateValue2).format('YYYY-MM-DD HH:mm:ss');
 4 this.axios.post("personnelface/freq/getfreqstat", {
 5                             beginTime: dateValue1 
 6                             endTime: dateValue2 
 7                               ..........
 8                     })
 9                     .
10                     .
11                     .
12                     .
13                     .

 

 通過上述兩種方法,都可以將UTC通用標准時,轉換為正常時間,結果如圖所示:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM