1. 程式人生 > >vue.js下自定義時間格式

vue.js下自定義時間格式

一、使用自定義js的正則表示式

//頁面上呼叫過濾器(頁面上)

{{date | formatDate}}

//建立過濾器(new Vue()中)

    filters: {
             /* 時間過濾器 */
            formatDate(time) {
                var date = new Date(time);
                return formatDate(date, "yyyy-MM-dd HH:mm:ss");
            }
     },

//自定義時間的正則表示式(date.js)

function
formatDate(date, fmt) {
if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); } let o = { 'M+': date.getMonth() + 1, 'd+': date.getDate(), 'H+': date.getHours(), 'm+': date.getMinutes(), 's+'
: date.getSeconds() }; for (let k in o) { if (new RegExp(`(${k})`).test(fmt)) { let str = o[k] + ''; fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str)); } } return fmt; }; function padLeftZero(str) { return ('00'
+ str).substr(str.length); }

二、在vue過濾器中建立時間格式

filters: {
   data:function (input) {
       var date = new Date(input);
       var year = d.getFullYear();
       var month = d.getMonth() + 1;
       var day = date.getDate() <10 ? '0' + date.getDate() : '' + date.getDate();
       var hour = date.getHours();
       var minutes = date.getMinutes();
       var seconds = date.getSeconds();
       return  year+ '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds;
   }