关于时间的过滤器 swig的 vue同理

const swig = require('swig')

const date = function (date, fmt) {
  fmt = fmt || 'yyyy-MM-dd hh:mm:ss'
  let o = {
    "M+": date.getMonth() + 1,     //月份
    "d+": date.getDate(),     //日
    "h+": date.getHours(),     //小时
    "m+": date.getMinutes(),     //分
    "s+": date.getSeconds(),     //秒
    "q+": Math.floor((date.getMonth() + 3) / 3), //季度
    "S": date.getMilliseconds()    //毫秒
  };
  if (/(y+)/.test(fmt))
    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
  for (let k in o)
    if (new RegExp("(" + k + ")").test(fmt))
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  return fmt;
}
swig.setFilter('ip_price', function (args) {
  if (args[2]) {
    return (Math.ceil((args[0] / 100 / 5)) / (args[1] / 24) / 1000).toFixed(4)
  }
  return ((args[0] / 100) / (args[1] / 24) / 43200).toFixed(4)
})

swig.setFilter('date', date)
swig.setFilter('dateStr', function (d) {
  return date(new Date(d))
})
swig.setFilter('dateInt', function (d) {
  return date(new Date(d * 1000))
})
swig.setFilter('SpecificDate', function (d) {
  return date(new Date(d),'yyyy年MM月dd日')
})
swig.setFilter('status', function (d) {
  switch (d){
    case 0:
      return "已提交"
    case 1:
      return "已开票"
    case 2:
      return "已取消"
  }
  return
})
swig.setFilter("remove",function (d) {
       return d.match(/A(\S*)/)[1]
})
module.exports = {
  swig: function (path, state) {
    return new Promise((resolve, reject) => {
      resolve(swig.compileFile(path)(state));
    })
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值