w3schools tag tab style page for color javascript jquery momentjs

javascript - tag - title of page html



Advertencia de desaprobación en el momento js: no en un formato ISO reconocido (6)

Recibo una advertencia de que un valor proporcionado hasta el momento no está en un formato ISO reconocido. Hoy cambié mi variable con la función moment y aún no funciona.

Aquí está el error de advertencia:

Advertencia de desaprobación: 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); });


¡Mira toda su impresionante documentación!

Aquí es donde discuten el mensaje de advertencia .

Cadena + Formato

Advertencia: El soporte del navegador para analizar cadenas es inconsistente. Debido a que no hay una especificación sobre qué formatos deben ser compatibles, lo que funciona en algunos navegadores no funcionará en otros navegadores.

Para obtener resultados consistentes que analicen cualquier otra cosa que no sean las cadenas ISO 8601, debe usar String + Format .

moment("12-25-1995", "MM-DD-YYYY");

Cadena + Formatos (múltiples formatos)

Si tiene más de un formato, consulte sus Formatos de cadena + (con una ''s'').

Si no conoce el formato exacto de una cadena de entrada, pero sabe que podría ser uno de muchos, puede usar una variedad de formatos.

moment("12-25-1995", ["MM-DD-YYYY", "YYYY-MM-DD"]);

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.

El constructor moment.tz toma los mismos argumentos que el constructor momento, pero usa el último argumento como identificador de zona horaria.

var b = moment.tz("May 12th 2014 8PM", "MMM Do YYYY hA", "America/Toronto");

EDITAR

//... var dateFormat = "YYYY-M-D H:m"; //<-------- This part will get rid of the warning. var aus1_s, aus2_s, aus3_s, aus4_s, aus5_s, aus6_s, aus6_e; if ($("#custom1 :selected").val() == "AU" ) { var region = ''Australia/Sydney''; aus1_s = moment.tz(''2016-9-26 19:30'', dateFormat, region); aus2_s = moment.tz(''2016-10-2 19:30'', dateFormat, region); aus3_s = moment.tz(''2016-10-9 19:30'', dateFormat, region); aus4_s = moment.tz(''2016-10-16 19:30'', dateFormat, region); aus5_s = moment.tz(''2016-10-23 19:30'', dateFormat, region); aus6_s = moment.tz(''2016-10-30 19:30'', dateFormat, region); aus6_e = moment.tz(''2016-11-5 19:30'', dateFormat, region); } else if ($("#custom1 :selected").val() == "NZ" ) { var region = ''Pacific/Auckland''; aus1_s = moment.tz(''2016-9-28 20:30'', dateFormat, region); aus2_s = moment.tz(''2016-10-4 20:30'', dateFormat, region); aus3_s = moment.tz(''2016-10-11 20:30'', dateFormat, region); aus4_s = moment.tz(''2016-10-18 20:30'', dateFormat, region); aus5_s = moment.tz(''2016-10-25 20:30'', dateFormat, region); aus6_s = moment.tz(''2016-11-2 20:30'', dateFormat, region); aus6_e = moment.tz(''2016-11-9 20:30'', dateFormat, region); } //...


Analizando cadena con moment.js.

const date = ''1231231231231'' //Example String date const parsed = moment(+date);


Hacer esto funciona para mí:

moment(new Date("27/04/2016")).format


Me encontré con este error porque estaba tratando de pasar una fecha de localStorage . Pasar la fecha a un nuevo objeto Date y luego llamar a .toISOString() ayudó:

const dateFromStorage = localStorage.getItem(''someDate''); const date = new Date(dateFromStorage); const momentDate = moment(date.toISOString());

Esto suprimió cualquier advertencia en la consola.


usa el momento en tu función así

moment(new Date(date)).format(''MM/DD/YYYY'')


Esta respuesta es para comprender mejor esta advertencia.

La advertencia de desaprobación se produce cuando usa momento para crear un objeto de tiempo, var today = moment(); .

Si esta advertencia está bien con usted, entonces tengo un método más simple.

No use el objeto de date de js use moment lugar. Por ejemplo, use moment() para obtener la fecha actual.

O convierta el objeto de fecha js fecha de moment . Simplemente puede hacer eso especificando el formato de su objeto de fecha js .

es decir, moment("js date", "js date format");

p.ej:

moment("2014 04 25", "YYYY MM DD");

(PERO SOLO PUEDE USAR ESTE MÉTODO HASTA QUE SE DEPRECIE, esto se puede depreciar en el futuro)