转换日期时间错误的时刻

时间:2016-07-17 10:18:32

标签: javascript datetime typescript momentjs

我从约会者那里得到时间。我选择2016年7月15日,当我检查变量sd时,它是2016年7月15日00:00:00 GMT 在我填写下一行之后的filterDataSearchFilter.startDateTime变量后,它现在说的是2016年7月14日,而不是15日。

为什么会这样?为什么片刻会给我"2016-07-10T12:00:00.000Z"而不是"2016-07-11T12:00:00.000Z"

 goButtonSearchFilter() {
        debugger;
        if (this.filterDataSearchFilter.startDateTimeNonUtc != null) {
            var sd = this.filterDataSearchFilter.startDateTimeNonUtc.toString();
            this.filterDataSearchFilter.startDateTime = moment(this.filterDataSearchFilter.startDateTimeNonUtc).startOf('day').toISOString();
        }

1 个答案:

答案 0 :(得分:0)

问题不是时刻,它是toISOString(),它没有考虑时区偏移。片刻已经为你提供了一天的开始,但isostring抵消了时区因此缩短了很多小时,将一天带到前一个小时。

希望这有帮助