Estou recebendo um aviso de que um valor fornecido no momento não está em um formato ISO reconhecido. Mudei minha variável hoje com a função moment e ainda não funciona.
Aqui está o erro de aviso:
Aviso de descontinuação: o valor fornecido não está em um formato ISO reconhecido. A construção do momento volta para js Date (), que não é confiável em todos os navegadores e versões. Os formatos de data não ISO são desencorajados e serão removidos em um próximo grande lançamento. Consulte http://momentjs.com/guides/#/warnings/js-date/ para obter mais informações. Argumentos: [0] _isAMomentObject: true, _isUTC: true, _useUTC: true, _l: indefinido, _i: 26-09-2016 19:30, _f: indefinido, _strict: undefined, _locale: [objeto Objeto]
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
fonte
fonte
'2016-9-26 19:30'
e tal não ser um formato ISO reconhecidomoment.tz('2016-9-28 20:30', 'YYYY-M-D H:mm', 'Pacific/Auckland');
de acordo com a documentação ... isto vai aceitar 1 ou 2 meses e dias dígito, 1 ou 2 horas dígitos em formato de 24 horasRespostas:
Confira toda a documentação incrível!
Aqui é onde eles discutem a mensagem de aviso .
String + Formato
String + Formatos (vários formatos)
Se você tiver mais de um formato, consulte os formatos String + (com um 's').
Verifique a documentação para algo mais específico.
Fuso horário
Análise de checkout na zona , a documentação equivalente para fusos horários.
EDITAR
fonte
Fazer isso funciona para mim:
fonte
Eu encontrei esse erro porque estava tentando passar uma data de
localStorage
. Passar a data para um novoDate
objeto e chamar .toISOString () fez o truque para mim:Isso suprimiu todos os avisos no console.
fonte
use momento em sua função como esta
fonte
Esta resposta é para entender melhor este aviso
O aviso de descontinuação é causado quando você usa o momento para criar um objeto de tempo
var today = moment();
,.Se este aviso estiver correto, então eu tenho um método mais simples.
Não use
date
objeto dejs
uso emmoment
vez disso. Por exemplo, usemoment()
para obter a data atual.Ou converta o
js
objeto demoment
data em data. Você pode simplesmente fazer isso especificando o formato do seujs
objeto de data.ou seja,
moment("js date", "js date format");
por exemplo:
(MAS VOCÊ PODE UTILIZAR SOMENTE ESTE MÉTODO ATÉ QUE DEPRECIATE, isso poderá ser depreciado
moment
no futuro)fonte
if
condição falhou. Você deve sair da resposta para não prosseguir.Você pode usar
Isso deve ser usado quando a data não estiver no formato ISO, pois mostrará em momento qual é o nosso formato atual.
fonte
Analisando sequência com moment.js.
fonte