收藏
回答

new Date() 在生成环境报错?

transFormTimeStamp(time) {
    const year = new Date().getFullYear();
    const month = (new Date().getMonth() + 1).toString().padStart(2, '0');
    const day = new Date().getDate().toString().padStart(2, '0');
    return getTime(`${year}-${month}-${day} ${time}`);
  }


一个时间格式化的操作,开发工具正常,线上环境在小程序后台告警,new Date() 好像编译出问题,new Date()变成了new Date,没有得到date对象,导致后面的toString()异常,padStart is not a function

客户端版本: 7.0.4

求助该如何解决


经过测试,在开发者工具中,new Date和new Date()效果一样,两者都可以正常运行

那么这个问题是如何引起的

最后一次编辑于  2020-06-18
回答关注问题邀请回答
收藏

3 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-06-18

    a = new Date 和 a = new Date()

    应该都没错

    试试这个

    (new Date()).toLocaleString('zh-CN', {  year: 'numeric', month: '2-digit', day: '2-digit', timezone:'Asia/Shanghai' }).replace(/\//g, '-')
    


    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-06-18
    有用 1
    回复 1
    • 从零开始
      从零开始
      2020-06-18
      又试了一下,代码都没问题。。。。感觉是小程序的bug,您的这个写法,应该也有可能遇到这个问题
      2020-06-18
      回复
  • 微盟
    微盟
    2020-06-18

    你这个报错不是new Date的报错,是你padstart这个方法的报错。提示你没有这个方法

    2020-06-18
    有用
    回复 2
    • 从零开始
      从零开始
      2020-06-18
      padStart是字符串的方法。。。如果toString()的结果没问题,这个方法就是OK的
      2020-06-18
      回复
    • 微盟
      微盟
      2020-06-18回复从零开始
      嗯,是的。应该是前面的部分编译出了问题。很奇怪
      2020-06-18
      回复
  • 郑钱花
    郑钱花
    2020-06-18

    .padstart is not a function

    2020-06-18
    有用
    回复
登录 后发表内容
问题标签