yyyy spanish moment meses fechas examples entre dias calcular javascript momentjs

javascript - spanish - Moment.js-dos fechas de diferencia en el número de días



moment locale spanish (2)

Desde el momento.js docs : format(''E'') significa día de la semana. por lo tanto, su diferencia se calcula en qué día de la semana, que debe estar entre 1 y 7.

Desde el momento. Docs de nuevo, esto es lo que sugieren:

var a = moment([2007, 0, 29]); var b = moment([2007, 0, 28]); a.diff(b, ''days'') // 1

Aquí hay un JSFiddle para su caso particular:

$(''#test'').click(function() { var startDate = moment("13.04.2016", "DD.MM.YYYY"); var endDate = moment("28.04.2016", "DD.MM.YYYY"); var result = ''Diff: '' + endDate.diff(startDate, ''days''); $(''#result'').html(result); });

#test { width: 100px; height: 100px; background: #ffb; padding: 10px; border: 2px solid #999; }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.12.0/moment.js"></script> <div id=''test''>Click Me!!!</div> <div id=''result''></div>

Obtengo resultados incorrectos al intentar encontrar una diferencia numérica entre dos fechas:

var startDate = moment( $(''[name="date-start"]'').val(), "DD.MM.YYYY"), // $(''[name="date-start"]'').val() === "13.04.2016" endDate = moment( $(''[name="date-end"]'' ).val(), "DD.MM.YYYY"); // $(''[name="date-end"]'').val() === "28.04.2016" var diff = startDate.diff(endDate); console.log( moment(diff).format(''E'') );

Entre el 13.04.2016 y el 28.04.2016 no debería obtener esa diferencia es de 3 o 2 días ...

He intentado múltiples combinaciones:

  • swap startDate.diff(endDate) con endDate.diff(startDate)
  • format(''E'') con algo que he encontrado buscando el SO

Resultado: todo el tiempo que obtengo esa diferencia es de 3 o 2 días.

¿Qué estoy haciendo mal? Gracias por adelantado.


El método diff devuelve la diferencia en milisegundos. moment(diff) instanciación moment(diff) no es significativo.

Puedes definir una variable:

var dayInMilliseconds = 1000 * 60 * 60 * 24;

y luego usarlo como tal:

diff / dayInMilliseconds // --> 15

Editar

en realidad, esto está integrado en el método diff , la respuesta de los dobladores es mejor