Vue全局过滤器、moment的diff算法计算时间差

过滤器(字符加工)

  • 语法:
filters:{
	方法名(参数){
		return 值(参数加工后)
	}
}
  • 使用的地方
    • v-bind
    • {{参数 | 方法名}}

全局过滤器

Vue.filter("方法名",function(参数){
	return (参数加工后)
})

moment

官方网站

  • 时间转换
把当前时间转换成某个格式
moment().format("YYYY/MM/DD hh:mm:ss")
给了我们一个时间戳转换成某个时间格式
moment(时间戳).format("YYYY/MM/DD hh:mm:ss")

  • diff计算时间差
moment  diff
momentA时间.diff(momentB时间,"h")
momentA时间-momentB时间 =小时差

应用场景

  • 需求:转换成与当前时间比较的小时差(24小时内) 超过24小时,使用正常时间

全局部署(在main.js文件中)

Vue.filter('formatTime', function (val) {
  // 需求:转换成与当前时间比较的小时差(24小时内) 超过24小时,使用正常时间
  //  moment时间a.diff(moment时间b,'hours')     moment时间a-moment时间b的小时差
  const _diff = moment().diff(moment(val), 'h')
  if (_diff < 1) {
    return '刚刚'
  } else if (_diff >= 1 && _diff < 24) {
    return _diff + '小时前'
  } else {
    return moment(val).format('YYYY/MM/DD HH:mm:ss')
  }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值