with moment fecha examples español javascript warnings deprecated momentjs

javascript - fecha - moment js examples



Advertencia de depreciación: la construcción del momento vuelve a js Fecha (3)

Como alternativa, puede suprimir mostrando la advertencia de moment.suppressDeprecationWarnings = true; configurando moment.suppressDeprecationWarnings = true;

Estoy usando el siguiente código para convertir una fecha-hora del servidor a la hora local usando Moment.js

moment(moment(''Wed, 23 Apr 2014 09:54:51 +0000'').format(''lll'')).fromNow()

Pero estoy obteniendo:

Advertencia de depreciación: la construcción del momento retrocede a js Fecha. Esto se desaconseja y se eliminará en la siguiente versión principal. Consulte https://github.com/moment/moment/issues/1407 para obtener más información.

¡Parece que no puedo deshacerme de eso! ¿Cómo puedo arreglarlo?


Para deshacerse de la advertencia, debe hacer lo siguiente:

  • Pase una versión con formato ISO de su cadena de fecha:

    moment(''2014-04-23T09:54:51'');

  • Pase la cuerda que tiene ahora, pero dígale a Momento en qué formato está la cuerda:

    moment(''Wed, 23 Apr 2014 09:54:51 +0000'', ''ddd, DD MMM YYYY HH:mm:ss ZZ'');

  • Convierte tu cadena en un objeto JavaScript Date y luego pasa eso a Moment:

    moment(new Date(''Wed, 23 Apr 2014 09:54:51 +0000''));

La última opción es un respaldo incorporado que admite Moment por ahora, con la advertencia de consola obsoleta. Dicen que no apoyarán esta reserva en lanzamientos futuros. Explican que usar una new Date(''my date'') es demasiado impredecible.


Si su fecha se transfiere de una API como string (como mi problema), puede usar un filtro para convertir la cadena en una fecha por momento. Esto se encargará de la advertencia de construcción del momento.

$scope.apiDate = 10/29/2017 18:28:03"; angular.module(''myApp'').filter(''stringToDate'', function() { return function(value) { return Date.parse(value); }; });

Agregarlo a la vista:

{{apiDate | stringToDate | amDateFormat:''ddd, MMM DD''}}