我在我的代码中使用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格式,但无论如何我都需要使用这种格式。
答案 0 :(得分:0)
this.$rootScope.mtz(formatedUtcTime)
-
您可能需要传递当前找到时间的格式。 即
this.$rootScope.mtz(formatedUtcTime, "MM-DD-YYYY")
帮助解析器理解格式。我猜测内部解析器正在阻塞当前日期的任何格式。