一、Vue時間格式化
在Vue項目中,我們常常需要對日期時間進行格式化操作。在Vue中,moment、date-fns等庫都可以幫我們快速地實現時間格式化,但是對於體積較大或者考慮簡潔性的項目,我們可以使用一個簡單的Vue過濾器來實現時間格式化的功能。
在Vue項目中,通過過濾器實現時間格式化,只需要在Vue實例中定義一個名為date的過濾器,將需要顯示的時間傳入,然後調用JavaScript中Date的相關方法,最後輸出符合要求的時間即可。
Vue.filter('date', function (input, fmtstring) { if (!input) { return ''; } moment.defaultFormat = fmtstring; return moment(input).format(fmtstring); });
在上述代碼中,我們引入了moment.js庫,並通過Vue.filter()方法定義了一個名為date的過濾器,該過濾器需要兩個參數:input和fmtstring,其中input為需要進行時間轉換的時間戳,fmtstring為需要將該時間戳轉換成的時間格式。最後,我們使用moment(input).format(fmtstring)將時間戳轉換為我們想要的時間格式。
二、Vue時間戳轉換為時間格式
Vue時間戳轉換為時間格式也相對比較簡單。在Vue中,我們可以通過JavaScript中的Date方法對時間戳進行轉換。
// timestamp為時間戳,format為格式化後的時間格式 Vue.prototype.formatDate = function(timestamp, format) { let date = new Date(timestamp * 1000); // 時間戳轉換為毫秒 let year = date.getFullYear(); let month = date.getMonth() + 1; let day = date.getDate(); let hour = date.getHours(); let minute = date.getMinutes(); let second = date.getSeconds(); if (format && format.length === 14) { return year + format.substr(0, 2) + month + format.substr(2, 2) + day + format.substr(4, 2) + hour + format.substr(6, 2) + minute + format.substr(8, 2) + second + format.substr(10, 4); } else { return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second; } }
在上述代碼中,我們在Vue實例中定義了一個名為formatDate的方法,該方法需要兩個參數:timestamp和format。其中,timestamp為需要進行轉換的時間戳,format為需要將該時間戳轉換成的時間格式。
在該方法中,我們首先將時間戳轉換為毫秒,然後提取出年、月、日、時、分、秒等信息,最後根據需要將這些信息以指定格式返回即可。如果format格式為14位,則按照format格式返回;否則按照”yyyy-MM-dd HH:mm:ss”格式返回。
三、Vue時間轉換為時間戳
在Vue項目中,我們通常需要將時間轉換為時間戳,以便更好地進行數據比較或者通過ajax請求傳遞給後端。在Vue中,我們可以通過JavaScript中的Date方法將時間轉換為時間戳。
// time為需要進行轉換的時間,format為該時間的格式 Vue.prototype.getTimestamp = function (time, format) { let date = moment(time, format); // 將時間轉換成moment類對象 let timestamp = Math.round(date.valueOf() / 1000); // 獲取時間戳,單位為秒 return timestamp; }
在上述代碼中,我們在Vue實例中定義了一個名為getTimestamp的方法,該方法需要兩個參數:time和format。其中,time為需要進行轉換的時間,format為該時間的格式。
在該方法中,我們首先將傳入的時間和格式使用moment()方法轉換為moment類對象,然後調用valueOf()方法獲取該時間對應的毫秒數。最後,我們將該毫秒數除以1000,將時間戳單位轉換為秒並取整。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/300725.html