vue filter 时间过滤

这个博客分享了一组JavaScript工具函数,用于日期、时间、分钟、秒和月份的格式化,以及货币和数值的千位分隔显示。函数包括`date`、`time`、`minute`、`second`、`month`、`money`和`decimal`,适用于数据处理和展示。
摘要由CSDN通过智能技术生成
import moment from 'moment'
export const date = (date, fmt = 'YYYY-MM-DD') => {
  let str = date || ''
  if (typeof str === 'string' && str && (str.includes('**') || str.includes('✽✽'))) {
    return str
  }
  return str ? moment(str).format(fmt) : str
}

export const time = (d, fmt = 'YYYY-MM-DD HH:mm:ss') => {
  return date(d, fmt)
}

export const minute = (d, fmt = 'YYYY-MM-DD HH:mm') => {
  return date(d, fmt)
}

export const second = (d, fmt = 'HH:mm:ss') => {
  return date(d, fmt)
}

export const month = (d, fmt = 'YYYY-MM') => {
  return date(d, fmt)
}

export const money = (num, prev = '¥', fixed = 2) => {
  if (typeof num !== 'number' && !num) {
    return ''
  }
  if (typeof num === 'string' && (num.includes('**') || num.includes('✽✽'))) {
    return num
  }
  prev = prev === null ? '¥' : prev
  return `${prev}${(+num).toFixed(fixed).replace(/\B(?=(\d{3})+(?!\d))/g, ',')}`
}

export const decimal = (num, precision = 2) => {
  if (typeof num !== 'number' && !num) {
    return ''
  }
  if (typeof num === 'string' && (num.includes('**') || num.includes('✽✽'))) {
    return num
  }
  return `${(+num).toFixed(precision).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')}`
}

export const thousands = (num) => {
  if (typeof num !== 'number' && !num) {
    return ''
  }
  if (typeof num === 'string' && (num.includes('**') || num.includes('✽✽'))) {
    return num
  }
  return (+num).toLocaleString()
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值