收藏
回答

wxml 里怎样触发函数把时间戳转成时间 研究好几天解决不了

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 客户端 最新 最新

- 当前 Bug 的表现(可附上截图)


new Date 报错


Date(时间戳)  报错


我需要在wxml 里面触发函数把时间戳转换时间 。一直解决不了。哪位老师帮忙指点一下。


回答关注问题邀请回答
收藏

4 个回答

  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    2018-09-17

    你好,可以了解一下wxs:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/

    2018-09-17
    赞同
    回复 2
    • 策划-谭
      策划-谭
      2018-09-17

      wxs 不支持 Date 时间转换

      new Date() 会报错

      2018-09-17
      回复
    • 策划-谭
      策划-谭
      2018-09-17回复策划-谭

      谢谢谢谢  找到了 有个 getDate

      2018-09-17
      回复
  • 广宝哥
    广宝哥
    2019-10-18


    它和js的写法有一点点差别:

    var timestampToDate = function(format, timestamp) {
          if(!timestamp) {
            return timestamp
          }
     
            var date = getDate(parseInt(timestamp))
            var year = date.getFullYear(),
                month = date.getMonth() + 1,
                day = date.getDate(),
                hour = date.getHours(),
                minute = date.getMinutes(),
                second = date.getSeconds();
          var re = getRegExp("[YyMmDdHhSs]+", 'g');
            var str = format.replace(re, function(w) {
     
                if(w == 'yy' || w == 'YY' || w == 'y' || w == 'Y') {
                    return year.toString().substring(2);
     
                } else if(w == 'yyyy' || w == 'YYYY') {
                    return year;
     
                } else if(w == 'MM') {
                    return month >= 10 ? month : '0' + month;
     
                } else if(w == 'M') {
                    return month;
     
                } else if(w == 'DD' || w == 'dd') {
                    return day >= 10 ? day : '0' + day;
     
                } else if(w == 'D' || w == 'd') {
                    return day;
     
                } else if(w == 'HH' || w == 'hh') {
                    return hour >= 10 ? hour : '0' + hour;
     
                } else if(w == 'H' || w == 'h') {
                    return hour;
     
                } else if(w == 'mm') {
                    return minute >= 10 ? minute : '0' + minute;
     
                } else if(w == 'm') {
                    return minute;
     
                } else if(w == 'ss' || w == 's') {
                    return second >= 10 ? second : '0' + second;
                }
            });
             
            return str;
    }
     
    module.exports = {
        timestampToDate: timestampToDate
    }


    2019-10-18
    赞同
    回复
  • 策划-谭
    策划-谭
    2018-09-17

    我需要在wxml 里面遍历数据的时候  每遇到时间戳  就触发函数转换时间。

    2018-09-17
    赞同
    回复 2
    • 🚗🚕🚙🚌🚎🚒🚐🚚
      🚗🚕🚙🚌🚎🚒🚐🚚
      2018-09-17

      你难道不会先转换,再遍历?

      2018-09-17
      回复
    • 策划-谭
      策划-谭
      2018-09-17

      这就需要遍历两次了/。

      效率低。100个数据 先遍历转换。然后 在页面还得遍历

      2018-09-17
      回复
  • 🚗🚕🚙🚌🚎🚒🚐🚚
    🚗🚕🚙🚌🚎🚒🚐🚚
    2018-09-17

    定义个变量不行?

    2018-09-17
    赞同
    回复
登录 后发表内容