使用moment.js时的弃用警告

Deprecation warning when using moment.js

本文关键字:警告 moment js 使用      更新时间:2023-09-26

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

vendor.js:50531弃用警告:提供的值不是可识别的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]错误在函数。createFromInputFallback (http://localhost: 8001/公共/js/vendor.js: 50558:98)在configFromString (http://localhost:8001/public/js/vendor.js:52297:32)在configfromput (http://localhost:8001/public/js/vendor.js:52657:13)at prepareConfig (http://localhost:8001/public/js/vendor.js:52640:13)at createFromConfig (http://localhost:8001/public/js/vendor.js:52607:44)在createLocalOrUTC (http://localhost:8001/public/js/vendor.js:52694:16)在local__createllocal (http://localhost:8001/public/js/vendor.js:52698:16)在utils_hooks__hooks (http://localhost:8001/public/js/vendor.js:50265:29)在new CalenderCtrl (http://localhost:8001/public/js/vendor.js:111047:18)在对象。调用(http://localhost: 8001/公共/js/vendor.js: 17317:19)

我不知道这是什么意思,即使在搜索了完整的moment.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格式,但无论如何我都需要使用这种格式。

this.$rootScope.mtz(formatedUtcTime) -

可能需要传入当前查找时间的格式。例如

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

帮助解析器理解格式。我猜内部解析器阻塞了当前日期的格式