Я получаю предупреждение, что значение, предоставленное моменту, не в признанном формате ISO. Я изменил свою переменную сегодня с помощью функции момента, и все же она не работает.
Вот ошибка предупреждения:
Предупреждение об устаревании: предоставленное значение не в признанном формате ISO. момент конструирования возвращается к js Date (), который не надежен во всех браузерах и версиях. Форматы дат, отличные от ISO, не рекомендуется и будут удалены в следующем основном выпуске. Пожалуйста, обратитесь к http://momentjs.com/guides/#/warnings/js-date/ для получения дополнительной информации. Аргументы: [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);
});
источник
'2016-9-26 19:30'
и к такому не признаваемому формату ISOmoment.tz('2016-9-28 20:30', 'YYYY-M-D H:mm', 'Pacific/Auckland');
соответствии с документацией ... это будет принимать 1 или 2 цифры месяца и дня, 1 или 2 цифры часа в 24-часовом форматеОтветы:
Проверьте всю их удивительную документацию!
Здесь они обсуждают предупреждающее сообщение .
Строка + Формат
Строка + Форматы (несколько форматов)
Если у вас более одного формата, проверьте их форматы String + (с 's').
Пожалуйста, ознакомьтесь с документацией для чего-то более конкретного.
Часовой пояс
Оформление заказа на разбор в Zone , эквивалентная документация для часовых поясов.
РЕДАКТИРОВАТЬ
источник
Делать это работает для меня:
источник
Я столкнулся с этой ошибкой, потому что я пытался передать дату от
localStorage
. Передача даты в новыйDate
объект, а затем вызов .toISOString () помогли мне:Это подавляет любые предупреждения в консоли.
источник
использовать момент в вашей функции, как это
источник
Этот ответ должен дать лучшее понимание этого предупреждения
Предупреждение об устаревании возникает, когда вы используете момент для создания объекта времени
var today = moment();
.Если это предупреждение с вами, у меня есть более простой метод.
Вместо этого не используйте
date
объект изjs
использованияmoment
. Например, используйте,moment()
чтобы получить текущую дату.Или преобразовать
js
объектmoment
даты в дату. Вы можете просто сделать это, указав формат вашегоjs
объекта даты.т.е.
moment("js date", "js date format");
например:
(НО ВЫ МОЖЕТЕ ИСПОЛЬЗОВАТЬ ЭТОТ МЕТОД ТОЛЬКО ДО УСТАРЕВШЕГО, это может быть амортизировано
moment
в будущем)источник
if
условие не удалось. Вы должны выйти из ответа, а не продолжить.Ты можешь использовать
Это следует использовать, когда дата не является форматом ISO, поскольку она покажет, какой у нас текущий формат.
источник
Разбор строки с moment.js.
источник