Ich erhalte eine Warnung, dass ein momentan angegebener Wert nicht in einem anerkannten ISO-Format vorliegt. Ich habe meine Variable heute mit der Moment-Funktion geändert und es funktioniert immer noch nicht.
Hier ist der Warnfehler:
Verfallswarnung: Der angegebene Wert hat kein anerkanntes ISO-Format. Moment Konstruktion fällt auf js Date () zurück, was nicht für alle Browser und Versionen zuverlässig ist. Nicht-ISO-Datumsformate werden nicht empfohlen und werden in einer kommenden Hauptversion entfernt. Weitere Informationen finden Sie unter http://momentjs.com/guides/#/warnings/js-date/ . Argumente: [0] _isAMomentObject: true, _isUTC: true, _useUTC: true, _l: undefined, _i: 2016-9-26 19:30, _f: undefined, _strict: undefined, _locale: [object Object]
var entryDate = new Date();
var currentDate = entryDate.getDate();
function between(x, min, max) {
return x.valueOf() >= min.valueOf() && x < max.valueOf();
}
$('#custom1').change(function () {
if ($('#custom1 :selected').val() == 'AU') {
var keyword = '';
var aus1_s = moment.tz('2016-9-26 19:30', 'Australia/Sydney');
var aus2_s = moment.tz('2016-10-2 19:30', 'Australia/Sydney');
var aus3_s = moment.tz('2016-10-9 19:30', 'Australia/Sydney');
var aus4_s = moment.tz('2016-10-16 19:30', 'Australia/Sydney');
var aus5_s = moment.tz('2016-10-23 19:30', 'Australia/Sydney');
var aus6_s = moment.tz('2016-10-30 19:30', 'Australia/Sydney');
var aus6_e = moment.tz('2016-11-5 19:30', 'Australia/Sydney');
} else if ($('#custom1 :selected').val() == 'NZ') {
var aus1_s = moment.tz('2016-9-28 20:30', 'Pacific/Auckland');
var aus2_s = moment.tz('2016-10-4 20:30', 'Pacific/Auckland');
var aus3_s = moment.tz('2016-10-11 20:30', 'Pacific/Auckland');
var aus4_s = moment.tz('2016-10-18 20:30', 'Pacific/Auckland');
var aus5_s = moment.tz('2016-10-25 20:30', 'Pacific/Auckland');
var aus6_s = moment.tz('2016-11-2 20:30', 'Pacific/Auckland');
var aus6_e = moment.tz('2016-11-9 20:30', 'Pacific/Auckland');
} else {
$('#entryEquals').val('');
return false;
}
var today = moment();
switch (true) {
case between(today, aus1_s, aus2_s):
keyword = 'RElYT04=';
break;
case between(today, aus2_s, aus3_s):
keyword = 'QlJJREU=';
break;
case between(today, aus3_s, aus4_s):
keyword = 'U1lETkVZ';
break;
case between(today, aus4_s, aus5_s):
keyword = 'R1JPT00=';
break;
case between(today, aus5_s, aus6_s):
keyword = 'V0VERElORw==';
break;
case between(today, aus6_s, aus6_e):
keyword = 'VExD';
break;
default:
$('#entryEquals').val('');
break;
}
$('#entryEquals').val(keyword);
});
quelle
'2016-9-26 19:30'
und dies ist kein anerkanntes ISO-Formatmoment.tz('2016-9-28 20:30', 'YYYY-M-D H:mm', 'Pacific/Auckland');
gemäß der Dokumentation tun ... dies akzeptiert 1 oder 2-stellige Monate und Tage, 1 oder 2-stellige Stunden im 24-Stunden-FormatAntworten:
Schauen Sie sich all ihre fantastischen Dokumentationen an!
Hier diskutieren sie die Warnmeldung .
String + Format
String + Formate (mehrere Formate)
Wenn Sie mehr als ein Format haben, überprüfen Sie deren String + Formate (mit einem 's').
Bitte überprüfen Sie die Dokumentation für weitere Einzelheiten.
Zeitzone
Checkout Parsing in Zone , die entsprechende Dokumentation für Zeitzonen.
BEARBEITEN
quelle
Das zu tun funktioniert für mich:
quelle
Ich bin auf diesen Fehler gestoßen, weil ich versucht habe, ein Datum von zu übergeben
localStorage
. Das Datum in ein neuesDate
Objekt zu übergeben und dann .toISOString () aufzurufen, hat den Trick für mich getan:Dadurch wurden alle Warnungen in der Konsole unterdrückt.
quelle
Verwenden Sie den Moment in Ihrer Funktion so
quelle
Diese Antwort soll ein besseres Verständnis dieser Warnung vermitteln
Eine Verfallswarnung wird verursacht, wenn Sie den Moment zum Erstellen eines Zeitobjekts verwenden
var today = moment();
.Wenn diese Warnung für Sie in Ordnung ist, habe ich eine einfachere Methode.
Verwenden Sie stattdessen kein
date
Objekt aus derjs
Verwendungmoment
. Verwenden Siemoment()
zum Beispiel , um das aktuelle Datum abzurufen.Oder konvertieren Sie das
js
Datumsobjekt inmoment
Datum. Sie können dies einfach tun, indem Sie das Format Ihresjs
Datumsobjekts angeben.dh
moment("js date", "js date format");
z.B:
(ABER SIE KÖNNEN DIESE METHODE NUR VERWENDEN, BIS SIE VERRINGERT IST. Dies kann in Zukunft abgeschrieben
moment
werden.)quelle
if
Zustand fehlgeschlagen ist. Sie sollten die Antwort beenden und nicht fortfahren.Sie können verwenden
Dies sollte verwendet werden, wenn das Datum nicht das ISO-Format ist, da es sofort anzeigt, wie unser aktuelles Format ist.
quelle
String mit moment.js analysieren.
quelle