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));
})
}
}
关于时间的过滤器 swig的 vue同理
最新推荐文章于 2023-02-08 09:54:31 发布