Otrzymuję ostrzeżenie, że wartość podana do chwili nie jest w rozpoznawalnym formacie ISO. Zmieniłem dzisiaj zmienną z funkcją momentu i nadal nie działa.
Oto błąd ostrzegawczy:
Ostrzeżenie o wycofaniu: podana wartość nie jest w rozpoznawanym formacie ISO. moment konstrukcji wraca do js Date (), co nie jest niezawodne we wszystkich przeglądarkach i wersjach. Formaty daty inne niż ISO są odradzane i zostaną usunięte w przyszłej wersji głównej. Więcej informacji można znaleźć pod adresem http://momentjs.com/guides/#/warnings/js-date/ . Argumenty: [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);
});
javascript
jquery
momentjs
Jemai
źródło
źródło
'2016-9-26 19:30'
i takiego nie jest rozpoznawalnym formatem ISOmoment.tz('2016-9-28 20:30', 'YYYY-M-D H:mm', 'Pacific/Auckland');
zgodnie z dokumentacją ... przyjmie to 1 lub 2 cyfrowe miesiące i dni, 1 lub 2 cyfrowe godziny w formacie 24-godzinnymOdpowiedzi:
Sprawdź całą ich niesamowitą dokumentację!
Oto, gdzie omawiają przesłanie ostrzegawcze .
Ciąg + format
Ciąg + Formaty (wiele formatów)
Jeśli masz więcej niż jeden format, sprawdź ich formaty String + (z „s”).
Sprawdź dokumentację, aby uzyskać bardziej szczegółowe informacje.
Strefa czasowa
Parsowanie płatności w strefie , równoważna dokumentacja dla stref czasowych.
EDYTOWAĆ
źródło
Robi to dla mnie:
źródło
Wystąpił ten błąd, ponieważ próbowałem przekazać datę z
localStorage
. Przekazanie daty do nowegoDate
obiektu, a następnie wywołanie .toISOString () załatwiło sprawę :To stłumiło wszelkie ostrzeżenia w konsoli.
źródło
wykorzystaj moment w swojej funkcji w ten sposób
źródło
Ta odpowiedź ma na celu lepsze zrozumienie tego ostrzeżenia
Ostrzeżenie o wycofaniu pojawia się, gdy używasz momentu do utworzenia obiektu czasu,
var today = moment();
.Jeśli to ostrzeżenie jest dla Ciebie w porządku, mam prostszą metodę.
Zamiast tego nie używaj
date
obiektu zjs
użyciamoment
. Na przykład użyjmoment()
aby uzyskać aktualną datę.Lub przekonwertuj
js
obiektmoment
daty na datę. Możesz to po prostu zrobić, określając format plikujs
obiektu daty.to znaczy,
moment("js date", "js date format");
na przykład:
(ALE MOŻESZ KORZYSTAĆ Z TEJ METODY TYLKO DO JEJ DEPRECYJACJI, może to być amortyzowane
moment
w przyszłości)źródło
if
stan zawiódł. Powinieneś zamknąć odpowiedź, nie kontynuować.Możesz użyć
Powinno to być używane, gdy data nie jest formatem ISO, ponieważ w chwili wskaże, jaki jest nasz obecny format.
źródło
Parsowanie ciągu z momentem.js.
źródło