色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

javascript - vue怎么自定義個時間過濾器Vue.filter

瀏覽:118日期:2023-09-17 15:10:47

問題描述

vue怎么自定義個過濾器 將時間戳轉換為小于24小時顯示今天 大于24小時顯示昨天 大于48小時顯示年-月-日簡單的模仿了 白云蒼狗的文章 但是不是起很大的作用

過濾后的結果 2013-03-22 02:20

<p id='app'> <input type='text' v-model='a'/><hr /><span> {{daitem |times}}</span> </p>

<script type='text/javascript'>

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’ }, }); </script>

問題解答

回答1:

應該用自定義指令更好。

var Time = { // 獲取當前時間戳 getUnix: function () {var date = new Date();return date.getTime(); }, // 獲取今天0點0分0秒的時間戳 getTodayUnix: function () {var date = new Date();date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0);return date.getTime(); }, // 獲取今年1月1日0點0分0秒的時間戳 getYearUnix: function () {var date = new Date();date.setMonth(0);date.setDate(1);date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0);return date.getTime(); }, // 獲取標準年月日 getLastDate: function(time) {var date = new Date(time);var month = date.getMonth() + 1 < 10 ? ’0’ + (date.getMonth() + 1) : date.getMonth() + 1;var day = date.getDate() < 10 ? ’0’ + date.getDate() : date.getDate();return date.getFullYear() + ’-’ + month + '-' + day; }, // 轉換時間 getFormatTime: function(timestamp) {var now = this.getUnix(); //當前時間戳var today = this.getTodayUnix(); //今天0點時間戳var year = this.getYearUnix(); //今年0點時間戳var timer = (now - timestamp) / 1000; // 轉換為秒級時間戳var tip = ’’;if (timer <= 0) { tip = ’剛剛’;} else if (Math.floor(timer/60) <= 0) { tip = ’剛剛’;} else if (timer < 3600) { tip = Math.floor(timer/60) + ’分鐘前’;} else if (timer >= 3600 && (timestamp - today >= 0) ) { tip = Math.floor(timer/3600) + ’小時前’;} else if (timer/86400 <= 31) { tip = Math.ceil(timer/86400) + ’天前’;} else { tip = this.getLastDate(timestamp);}return tip; }};export default { bind: function (el, binding) {el.innerHTML = Time.getFormatTime(binding.value * 1000);el.__timeout__ = setInterval(function() { el.innerHTML = Time.getFormatTime(binding.value * 1000);}, 60000); }, unbind: function (el) {clearInterval(el.__timeout__);delete el.__timeout__; }}

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 久久精品久久久久 | 久草一级片 | 久久久久久久国产高清 | 国产亚洲欧美在线人成aaaa | 亚洲天堂视频一区 | 亚洲欧洲久久久精品 | 久久综合日韩亚洲精品色 | 亚洲人成在线播放网站 | 日本精品视频在线播放 | 久久福利青草免费精品 | 免费国产a国产片高清 | 欧美国产91 | 美女视频很黄很a免费国产 美女视频黄.免费网址 | 热99re久久精品香蕉 | 美女午夜色视频在线观看 | 国内一级野外a一级毛片 | 日韩欧美精品一区二区 | 真人一级毛片 | 丝袜美腿精品一区二区三 | 精品手机在线 | 日本人视频网站一 | 国产一区二区三区日韩 | 亚洲厕拍 | 一级特黄特色的免费大片视频 | 中文偷拍视频在线观看 | 亚洲第一大网站 | 国产精品久久视频 | freesex日本高清nice | 亚洲免费视频在线 | 日韩久草 | 亚洲天堂视频在线免费观看 | 亚洲男人天堂手机版 | 日本欧美一区二区三区片 | 欧美另类亚洲一区二区 | 失禁h啪肉尿出来高h男男 | 精品久久久久久久久免费影院 | 国产成人免费在线观看 | 九月婷婷亚洲综合在线 | 午夜主播福利视频在线观看 | 国产女人成人精品视频 | 国产欧美日韩在线观看一区二区三区 |