Dos días de diferencia, tres fechas con ambos extremos

De 2024-02-28 a 2024-03-01 hay dos días de diferencia. Incluyendo ambos extremos se cuentan 28 de febrero, 29 de febrero y 1 de marzo: tres fechas. La opción de incluir la fecha inicial de Moyoutil cuenta ambos extremos. Una misma fecha da cero por defecto y uno al incluirla.

dateDiff("2024-02-28", "2024-03-01", false) // 2
dateDiff("2024-02-28", "2024-03-01", true)  // 3
dateDiff("2024-03-01", "2024-03-01", false) // 0
dateDiff("2024-03-01", "2024-03-01", true)  // 1
Tres fechas, 28 y 29 de febrero y 1 de marzo de 2024, comparadas con sus dos intervalos.
Diagrama original calculado con el ejemplo fijo: tres casillas de fecha y dos intervalos entre fechas adyacentes. No representa la política de un servicio concreto.

El resultado es negativo si la fecha final precede a la inicial. Invertir este ejemplo da -2 por defecto y -3 incluyendo extremos. Se conserva el signo de la dirección. Si necesitas un recuento sin signo, revisa primero el orden de las fechas.

Años bisiestos: revisa la excepción de los siglos

En el calendario gregoriano de ECMAScript, los años divisibles por 4 son bisiestos, salvo los divisibles por 100, que también deben ser divisibles por 400. Por eso 2000 es bisiesto y 1900 no. La función real da dos días de 2000-02-28 a 2000-03-01 y uno para esas fechas en 1900.

dateDiff("2000-02-28", "2000-03-01") // 2
dateDiff("1900-02-28", "1900-03-01") // 1

Moyoutil añade T00:00:00Z a cada fecha para calcular a medianoche UTC y divide la diferencia en milisegundos por 86400000. En este modelo de ECMAScript, un día tiene 86400000 milisegundos. No recibe horas locales ni cambios de horario de verano para calcular tiempo real transcurrido.

ECMAScript: Time Values and Time Range

Revisa el criterio antes de usar el resultado

Elige las fechas inicial y final. Comprueba si se muestra la diferencia normal o el recuento de ambos extremos al incluir la fecha inicial; lee el criterio indicado. El resultado se actualiza al cambiar los datos. Admite años 0001–9999; fechas inexistentes y entradas vacías generan errores.

Cuenta fechas del calendario sin excluir fines de semana ni festivos. No aplica reglas de días laborables, alojamiento, edad, fin de contrato o plazos legales, ni reconstruye calendarios históricos regionales. Comprueba primero las reglas del servicio u organización.

Preguntas frecuentes

¿Incluir extremos siempre suma uno al resultado normal?

No. Si la diferencia es negativa, resta uno para conservar la dirección negativa. Incluir la misma fecha da un día.

¿Un resultado de dos días significa 48 horas reales?

Compara fechas a medianoche UTC. No se introducen horas locales reales ni cambios de zona horaria; el resultado por sí solo no determina el tiempo real transcurrido.