小程序wxs文件封装时间格式过滤器

    最近想要在微信小程序项目中封装一个全局使用的过滤器,将时间戳格式转化为年月日格式,根据官网提示,在utils文件夹中新建一个.wxs为后缀的文件,然后写入自己的代码,在想要试用时间格式过滤器的画面引用,看起来清晰明了有简单。

    但是,最终发现无效,真是不能理解,代码如下:

1.utils文件夹中创建的util.wxs文件:

  var formatDate = function (timestamp, option) {
    var date = getDate(timestamp);
    var year = date.getFullYear()
    var month = date.getMonth() + 1
    var day = date.getDate()
    
    var hour = function () {
      return date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
    }
   
    var minute = function () {
      return date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
    }
   
    var second = function () {
      return date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
    }
   
    //获取 年月日
    if (option == 'YY-MM-DD') return " " + year + "-" + month + "-" + day;
   
    //获取年月
    if (option == 'YY-MM') return " " + year + "-" + month;
   
    //获取年
    if (option == 'YY') return " " + year;
   
    //获取月
    if (option == 'MM') return  " " + month;
   
    //获取日
    if (option == 'DD') return " " +  day;
   
    //获取昨天
    if (option == 'yesterday') return " " + day - 1;
   
    //获取时分秒
    if (option == 'hh-mm-ss') return " " + hour() + ":" + minute() + ":" + second();
   
    //获取时分
    if (option == 'hh-mm') return " " + hour() + ":" + minute();
   
    //获取分秒
    if (option == 'mm-ss') return minute() + ":" + second();
   
    //获取分
    if (option == 'mm')  return minute();
   
    //获取秒
    if (option == 'ss') return second();
   
    //默认时分秒年月日
    return year + '-' + month + '-' + day + ' ' + hour() + ':' + minute() + ":" + second();
  }
 module.exports = {formatDate:formatDate}

2.使用该过滤器的某个.wxml画面的引用代码:

= "../../utils/util.wxs"  module = "filter" />

3.引用完在.wxml中正式使用该过滤器:

 <text bindtap="actionShow">{{filter.formatDate(month,'YY-MM')}}text>

    一套流程下来我觉得是没有任何问题的,结果没有任何反应,连报错都没有,不知道是不是本人做了自定义tabbar的原因。

     后来,为了不再无谓的问题上浪费太多时间,我把wxs直接写在了.wxml文件内引用,就生效了。
 <text bindtap="actionShow">{{filter.formatDate(month,'YY-MM')}}text>
"filter">
  var toFixed = function (value) {
    return value.toFixed(2);
  }
  var formatDate = function (timestamp, option) {
    var date = getDate(timestamp);
    var year = date.getFullYear()
    var month = date.getMonth() + 1
    var day = date.getDate()
    
    var hour = function () {
      return date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
    }
   
    var minute = function () {
      return date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
    }
   
    var second = function () {
      return date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
    }
   
    //获取 年月日
    if (option == 'YY-MM-DD') return " " + year + "-" + month + "-" + day;
   
    //获取年月
    if (option == 'YY-MM') return " " + year + "-" + month;
   
    //获取年
    if (option == 'YY') return " " + year;
   
    //获取月
    if (option == 'MM') return  " " + month;
   
    //获取日
    if (option == 'DD') return " " +  day;
   
    //获取昨天
    if (option == 'yesterday') return " " + day - 1;
   
    //获取时分秒
    if (option == 'hh-mm-ss') return " " + hour() + ":" + minute() + ":" + second();
   
    //获取时分
    if (option == 'hh-mm') return " " + hour() + ":" + minute();
   
    //获取分秒
    if (option == 'mm-ss') return minute() + ":" + second();
   
    //获取分
    if (option == 'mm')  return minute();
   
    //获取秒
    if (option == 'ss') return second();
   
    //默认时分秒年月日
    return year + '-' + month + '-' + day + ' ' + hour() + ':' + minute() + ":" + second();
  }
  module.exports = {
    formatDate:formatDate
  }
 
    虽然也能用,但是这就表示我需要在每个想使用时间格式过滤器的画面都写一遍wxs代码,感觉失去了封装的意义,希望有大佬不能帮我解决这个困惑~