Recibo una advertencia de que un valor proporcionado hasta el momento no está en un formato ISO reconocido. Cambié mi variable hoy con la función moment y aún no funciona.
Aquí está el error de advertencia:
Advertencia de desuso: el valor proporcionado no está en un formato ISO reconocido. la construcción de momento se remonta a js Date (), que no es confiable en todos los navegadores y versiones. Se desaconsejan los formatos de fecha no ISO y se eliminarán en una próxima versión principal. Consulte http://momentjs.com/guides/#/warnings/js-date/ para obtener más información. Argumentos: [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
fuente
fuente
'2016-9-26 19:30'
y no es un formato ISO reconocidomoment.tz('2016-9-28 20:30', 'YYYY-M-D H:mm', 'Pacific/Auckland');
acuerdo con la documentación ... esto aceptará meses y días de 1 o 2 dígitos, horas de 1 o 2 dígitos en formato de 24 horasRespuestas:
¡Mira toda su impresionante documentación!
Aquí es donde discuten el mensaje de advertencia .
Cadena + Formato
Cadena + Formatos (múltiples formatos)
Si tiene más de un formato, consulte sus Formatos de cadena + (con una 's').
Por favor revise la documentación para algo más específico.
Zona horaria
Checkout Parsing in Zone , la documentación equivalente para zonas horarias.
EDITAR
fuente
Hacer esto funciona para mí:
fuente
Me encontré con este error porque estaba tratando de pasar una fecha de
localStorage
. Pasar la fecha a un nuevoDate
objeto y luego llamar a .toISOString () me ayudó:Esto suprimió cualquier advertencia en la consola.
fuente
usa el momento en tu función así
fuente
Esta respuesta es para comprender mejor esta advertencia.
Deprecation advertencia se produce cuando se utiliza momento para crear el objeto de tiempo,
var today = moment();
.Si esta advertencia está bien con usted, entonces tengo un método más simple.
No use el
date
objeto deljs
usomoment
en su lugar. Por ejemplo, usemoment()
para obtener la fecha actual.O convierta el
js
objeto demoment
fecha a fecha. Simplemente puede hacer eso especificando el formato de sujs
objeto de fecha.es decir,
moment("js date", "js date format");
p.ej:
(PERO SOLO PUEDE USAR ESTE MÉTODO HASTA QUE SE DEPRECIE, esto puede ser depreciado
moment
en el futuro)fuente
if
condición falló? Debe salir de la respuesta, no continuar.Puedes usar
Esto debe usarse cuando la fecha no es el formato ISO, ya que le dirá al momento cuál es nuestro formato actual.
fuente
Analizando cadena con moment.js.
fuente