So passen Sie einen Filter in Vue an, um den Zeitstempel in weniger als 24 Stunden umzuwandeln, den heutigen Tag länger als 24 Stunden anzuzeigen, den gestrigen Tag länger als 48 Stunden anzuzeigen und Jahr-Monat-Tag anzuzeigen.
Einfache Nachahmung vonBaiyuncangous ArtikelAber das funktioniert nicht Macht keinen großen Unterschied. Funktion
Gefilterte Ergebnisse 22.03.2013 02:20
{{daitem |times}}
Vue.filter('times',function (item) { var date = (typeof item === 'number') ? new Date(item) : new Date((item || '').replace(/-/g, '/')) // console.log(date) var diff = (((new Date()).getTime() - date.getTime()) / 1000) var dayDiff = Math.floor(diff / 86400) var isValidDate = Object.prototype.toString.call(date) === '[object Date]' && !isNaN(date.getTime()) if (!isValidDate) { console.error('not a valid date') return item } var today = new Date(date) var year = today.getFullYear() var month = ('0' + (today.getMonth() + 1)).slice(-2) var day = ('0' + today.getDate()).slice(-2) var hour = ('0' + today.getHours()).slice(-2) var minute = ('0'+today.getMinutes()).slice(-2) if (isNaN(dayDiff) || dayDiff < 0 || dayDiff >= 31) { return `${year}-${month}-${day} ${hour}:${minute}` } return dayDiff === 0 && ( diff < 86400 && '今天' ) || dayDiff < 2 && '昨天' + `${hour}:${minute}`|| dayDiff < 3 && '前天' + `${hour}:${minute}`|| dayDiff >3 && `${year}-${month}-${day}` }); var vm = new Vue({ el: '#app', data: { daitem: '2013-3-22 2:20' }, });
应该用自定义指令更好。