收藏
回答

js中new一个Date,在wxml中,为何日期显示不一致?

有个bug,我在某一个页面onLoad时,setData了一个today的值为new Date(),

this.setData({

      yhLoginInfo: wx.getStorageSync('yhLoginInfo'),

      village: options.village,

      buildingNo: options.buildingNo,

      idBuildingInfo: options.idBuildingInfo,

      dayAftertt: dayAftertt,

      today: new Date()

    }); 在页面{{today}}显示为一个日期字符串:"2019-08-02T06:52:12.702Z",而在另一个页面中,同样的this.setDate()一个today,结果在页面{{today}}显示为一个[objet,objet],这是一个bug呀,怎么解决这个问题?我需要显示为日期字符串


最后一次编辑于  08-02  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

12 个回答

  • 鲤子
    鲤子
    08-02

    把时间格式转成字符串

    不要直接在渲染层显示new Date

    08-02
    赞同 11
    回复 1
    • smoking
      smoking
      08-16
      谢谢!
      08-16
      赞同
      回复
  • 山里育
    山里育
    08-02

    建议你自己转成string

    08-02
    赞同
    回复 1
    • smoking
      smoking
      08-02
      我要用后台的一个2019-08-02T06:52:12.702Z格式的日期和today进行比较,tostring或toDateString后就不能有效比较了
      08-02
      赞同
      回复
  • smoking
    smoking
    08-02

    但是后台打印效果是一致的

    08-02
    赞同
    回复
  • 卢霄霄
    卢霄霄
    08-02

    怎么办到的?有代码片段不?

    我一般都自己处理日期格式,你也可以用别人已经封装好的,比如moment.js或者dayjs

    08-02
    赞同
    回复 2
    • smoking
      smoking
      08-02
      我就用的小程序原生的,有的页面都显示正常的日期格式,有的页面就显示为[object,object],好奇怪
      08-02
      赞同
      回复
    • 卢霄霄
      卢霄霄
      08-02回复smoking
      简直就像被toString了一样
      08-02
      赞同
      回复
  • 林学
    林学
    08-02

    总感觉没有赋值成功,定义today: {}, 如果没有赋值today: new Date() 的话,显示的就是[object,object]

    08-02
    赞同
    回复 3
    • smoking
      smoking
      08-02
      就是setData赋值today: new Date()啊
      08-02
      赞同
      回复
    • 林学
      林学
      08-02回复smoking
      你定义的时候是today: {},吗?
      08-02
      赞同
      回复
    • smoking
      smoking
      08-02
      没在data里定义,就直接onLoad的时候setData,另一个页面也是这样的,但是能正常显示日期
      08-02
      赞同
      回复