鍍金池/ 問答/Linux  HTML/ wxs對時(shí)間戳按照自定義進(jìn)行格式化

wxs對時(shí)間戳按照自定義進(jìn)行格式化

我是在wepy上使用的wxs。下面的這段對時(shí)間戳進(jìn)行格式化的原js代碼我已經(jīng)在html文件里測試過是正常的。
現(xiàn)在是要把它改成wxs支持的語法。無奈對js的正則理解得還比較差,測試了好多遍還是沒法正確改得了這個(gè)RegExp。

wxml調(diào)用這個(gè)方法的代碼是:

<view class="item-time">{{timeFilter.getTime(item.create_time, 'yyyy-MM-dd hh:mm:ss')}}</view>

js部分引入這個(gè)wxs代碼是:

import timeFilter from '../wxs/filter.wxs'
wxs = {
      timeFilter
    }

下面是這個(gè)filter.wxs的完整代碼
這個(gè)getTime方法傳入的2個(gè)參數(shù),time是時(shí)間戳(精確到秒),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(),                   // 小時(shí)
      '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
  }
}

如果直接用上面這段代碼的話,報(bào)錯(cuò)信息如下:
圖片描述

求各位大神幫忙修改一下,萬分感謝??!

回答
編輯回答
心癌

wxs在安卓上并沒有速度優(yōu)勢,而微信小程序本身在ios上體驗(yàn)也就那樣
并不建議寫wxs

2017年7月20日 22:05