使用moment.js

时间:2016-11-09 15:06:53

标签: javascript jquery node.js momentjs

我在我的代码中使用moment.js和moment-timezone.js进行日期时间计算。 过了一会儿(所以这首先不是问题)我已经开始收到警告信息说:

  

vendor.js:50531弃用警告:提供的值不在a中   公认的ISO格式。时刻建设回到js Date(),   这在所有浏览器和版本中都不可靠。非ISO日期   不鼓励格式,将在即将到来的专业中删除   发布。请参阅   http://momentjs.com/guides/#/warnings/js-date/了解更多信息。   参数:[0] _isAMomentObject:true,_isUTC:false,_useUTC:false,   _l:undefined,_ i:,_ f :, _ strict:undefined,_locale:[object Object]错误       在Function.createFromInputFallback(http://localhost:8001/public/js/vendor.js:50558:98)       at configFromString(http://localhost:8001/public/js/vendor.js:52297:32)       在configFromInput(http://localhost:8001/public/js/vendor.js:52657:13)       在prepareConfig(http://localhost:8001/public/js/vendor.js:52640:13)       在createFromConfig(http://localhost:8001/public/js/vendor.js:52607:44)       在createLocalOrUTC(http://localhost:8001/public/js/vendor.js:52694:16)       at local__createLocal(http://localhost:8001/public/js/vendor.js:52698:16)       at utils_hooks__hooks(http://localhost:8001/public/js/vendor.js:50265:29)       在新的CalenderCtrl(http://localhost:8001/public/js/vendor.js:111047:18)       在Object.invoke(http://localhost:8001/public/js/vendor.js:17317:19

我不知道这意味着什么,即使在搜索了彻底的时刻.js文档。

这是我使用moment.js的代码的一部分:

convertSelectedTimeZoneToClients() {
        let timeZoneInfo = {
            usersTimeZone: this.$rootScope.mtz.tz.guess(),
            utcOffset: this.formData.timeZone.offset,
            selectedDateTime: this.toJSONLocal(this.formData.sessionDate) + " " + this.formData.sessionTime 
        };

        let utcTime  = this.$rootScope.mtz.utc(timeZoneInfo.selectedDateTime).utcOffset(timeZoneInfo.utcOffset).format("YYYY-MM-DD HH:mm");
        let formatedUtcTime = this.$rootScope.mtz.utc(utcTime).toDate();
        let localTime = this.$rootScope.mtz(formatedUtcTime).format("YYYY-MM-DD HH:mm");
        this.$scope.clientDateTimeZone = localTime;
}

有人看到一些可能导致此警告的潜在问题。 我唯一能想到的是'YYYY-MM-DD HH:mm'不是ISO格式,但无论如何我都需要使用这种格式。

1 个答案:

答案 0 :(得分:0)

this.$rootScope.mtz(formatedUtcTime) -

您可能需要传递当前找到时间的格式。 即

this.$rootScope.mtz(formatedUtcTime, "MM-DD-YYYY")

帮助解析器理解格式。我猜测内部解析器正在阻塞当前日期的任何格式。