我是在wepy上使用的wxs。下面的这段对时间戳进行格式化的原js代码我已经在html文件里测试过是正常的。
现在是要把它改成wxs支持的语法。无奈对js的正则理解得还比较差,测试了好多遍还是没法正确改得了这个RegExp。
wxml调用这个方法的代码是:
<view class="item-time">{{timeFilter.getTime(item.create_time, 'yyyy-MM-dd hh:mm:ss')}}</view>
js部分引入这个wxs代码是:
import timeFilter from '../wxs/filter.wxs'
wxs = {
timeFilter
}
下面是这个filter.wxs的完整代码
这个getTime方法传入的2个参数,time是时间戳(精确到秒),fmt是格式(yyyy-mm-dd)。
module.exports = {
getTime: function (time, fmt) {
if (!time) return ''
var date = getDate(time * 1000)
var 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 (var 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
}
}
如果直接用上面这段代码的话,报错信息如下:
求各位大神帮忙修改一下,万分感谢!!
wxs在安卓上并没有速度优势,而微信小程序本身在ios上体验也就那样
并不建议写wxs