代码之家  ›  专栏  ›  技术社区  ›  Smokey Dawson

moment.js无法创建正确的日期

  •  3
  • Smokey Dawson  · 技术社区  · 7 年前

    我似乎不知道是什么问题,我有一个手动时间输入功能,在我的网站上,用户可以输入一个时间,然后我把它存储在数据库中。。

    所以我的函数是这样的。。

    createTime() {
        this.startTime =  moment(`${this.hour}:${this.minute} ${this.timeOfDay}`, `HH:mm a`).utc();
    }
    

    所以我下午5点45分打了进去

    现在当我 console.log()

    enter image description here

    然后当我从服务器得到时间,然后试着把它转换回本地时间,就像这样。。

    fixTime(momentObject: moment.Moment) {
        return moment(momentObject).local().format('hh:mm A');
    }
    

    我早上4点45分起床

    我搞不懂问题出在哪里。。我怎样才能解决这个问题?

    1 回复  |  直到 7 年前
        1
  •  0
  •   ABlue    7 年前
       fixTime(momentObject: moment.Moment) {
    
        var testDateUtc = moment.utc(momentObject);
        var localDate = moment(testDateUtc).local();
        return localDate.format('hh:mm A');
    }
    

    必须创建一个力矩对象,并将对象上的UTC标志设置为true,然后创建一个从原始力矩对象转换而来的本地化力矩对象,最后从本地化力矩返回一个格式化字符串 对象

    http://momentjs.com/docs/#/manipulating/local/

    推荐文章