2016-11-09 7 views
1

Ich verwende moment.js und moment-timezone.js für die Berechnung der Datumszeit in meinem Code. Nach einer Weile (so dass diese in einem ersten Platz war kein Problem) Ich habe begonnen Warnmeldung immer sagt dies:Verfallswarnung bei Verwendung von moment.js

vendor.js: 50531 Deprecation Warnung: angegebener Wert ist nicht in ein anerkannten ISO-Format . Moment Konstruktion fällt zurück auf js Datum(), , die nicht über alle Browser und Versionen zuverlässig ist. Nicht-ISO-Datum Formate sind entmutigt und werden in einem kommenden großen Release entfernt werden. Weitere Informationen finden Sie unter http://momentjs.com/guides/#/warnings/js-date/. Argumente: [0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i:, _f:, _strict: undefined, _locale: [object Object] Fehler bei Function.createFromInputFallback (http://localhost:8001/public/js/vendor.js:50558:98) bei configFromString (http://localhost:8001/public/js/vendor.js:52297:32) bei configFromInput (http://localhost:8001/public/js/vendor.js:52657:13) bei prepareConfig (http://localhost:8001/public/js/vendor.js:52640:13) bei createFromConfig (http://localhost:8001/public/js/vendor.js:52607:44) bei createLocalOrUTC (http://localhost:8001/public/js/vendor.js:52694:16) bei local__createLocal (http://localhost:8001/public/js/vendor.js:52698:16) bei utils_hooks__hooks (http://localhost:8001/public/js/vendor.js:50265:29) bei neuer CalenderCtrl (http://localhost:8001/public/js/vendor.js:111047:18) bei Object.invoke (http://localhost:8001/public/js/vendor.js:17317:19)

Ich habe keine Ahnung, was das bedeutet, auch nach gründlichem moment.js docs suchen.

Dies ist ein Teil des Codes, wo ich moment.js verwenden:

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; 
} 

Hat jemand sieht einige potenzielle Problem, dass diese Warnung auslösen können. Das einzige, was mir einfällt, ist, dass "JJJJ-MM-TT HH: mm" kein ISO-Format ist, aber ich muss dieses Format irgendwie verwenden.

+1

Ein ähnliches Problem auf github https://github.com/moment/moment/issues/3440 –

+0

'JJJJ-MM-TT HH: mm' ist in den _Supported ISO 8601 Strings_ enthalten, die in der offiziellen [Parsing-Dokumentation] aufgeführt sind (http://momentjs.com/docs/#/parsing/string/), welches ist die Zeile und der Zeichenfolgenwert, der Ihnen _Deprecement warning_ gibt? – VincenzoC

Antwort

0

this.$rootScope.mtz(formatedUtcTime) -

Sie können im Format übergeben müssen, dass Sie die Zeit, in der aktuell finden. das heißt

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

der Parser das Format verstehen. Ich nehme an, der interne Parser erstickt an dem Format, in dem sich das aktuelle Datum befindet.

Verwandte Themen