Я использую moment.js и moment-timezone.js для расчета даты в моем коде. Через некоторое время (так что это не проблема, в первую очередь), я начал получать предупреждение говорить это:Предупреждение об устаревании при использовании момента.js
vendor.js: 50531 Deprecation предупреждение: значение, предоставляемое не в признанному формату ISO , момент возвращается к js Date(), , который не является надежным во всех браузерах и версиях. Форматы Non ISO не поощряются и будут удалены в предстоящем выпуске . Пожалуйста, обратитесь к http://momentjs.com/guides/#/warnings/js-date/ для получения дополнительной информации. Аргументы: [0] _isAMomentObject: истинные, _isUTC: ложь, _useUTC: ложь, _l: не определено, _I:, _f:, _strict не определено, _locale: [объект Object] Ошибка на Function.createFromInputFallback (http://localhost:8001/public/js/vendor.js:50558:98) на 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) в local__createLocal (http://localhost:8001/public/js/vendor.js:52698:16) на 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)
Я понятия не имею, что это значит, даже после поиска тщательного 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;
}
ли кто-то видит некоторые потенциальные проблемы, которые могут вызвать это предупреждение. Единственное, что я могу придумать, это то, что «ГГГГ-ММ-ДД ЧЧ: мм» не является форматом ISO, но мне все равно нужно использовать этот формат.
Связанная с этим проблема на github https://github.com/moment/moment/issues/3440 –
'YYYY-MM-DD HH: mm' включена в _Supported строки ISO 8601, перечисленные в официальном документе [синтаксические разборки] (http://momentjs.com/docs/#/parsing/string/), которая является строкой и строковым значением, которое дает вам _Deprecation warning_? – VincenzoC