«¿Cuántos días hay entre el 10 y el 12 de marzo?» La respuesta puede ser dos, tres o uno, y las tres pueden ser correctas. La resta es sencilla; lo importante es decidir si se cuentan la fecha inicial, la final, ambas o ninguna.
Esta guía propone un método repetible y también cubre años bisiestos, finales de mes, días hábiles, plazos, zonas horarias y cambios de hora. El objetivo no es obtener un número cualquiera, sino el que responde a la pregunta real.
La respuesta corta
Para dos fechas sin hora, calcula primero la diferencia normal: diferencia = fecha final − fecha inicial. Después aplica la regla de los extremos:
- Tiempo transcurrido o inicio excluido: usa la diferencia tal cual.
- Conteo inclusivo: suma 1 si deben contarse tanto el inicio como el final.
- Días francos o interiores: resta 1 si no se cuenta ninguno de los extremos, sin bajar de cero.
De 2026-03-10 a 2026-03-12, la diferencia normal es de 2 días. Si se cuentan ambas fechas hay 3; si solo se cuentan las fechas estrictamente intermedias hay 1.
Cuatro formas válidas de contar el mismo intervalo
| Regla | Fechas contadas | Resultado | Uso habitual |
|---|---|---|---|
| Final menos inicio | 10→11, 11→12 | 2 días | Duración de un intervalo; noches |
| Ambas fechas incluidas | 10, 11, 12 | 3 fechas | Asistencia, viajes, campañas |
| Ambas fechas excluidas | Solo el 11 | 1 día franco | Algunas normas procesales |
Semiabierto [inicio, final) | 10, 11 | 2 fechas | Software, reservas, informes |
El intervalo semiabierto incluye el inicio y excluye el final. Evita solapamientos: una reserva que termina el día 12 y otra que empieza ese mismo día no ocupan dos veces el límite. Además, los intervalos contiguos se suman sin ajustes.
La palabra «inclusivo» tampoco basta si no se dice qué extremo se incluye. Es mejor escribir «incluir ambas fechas», «excluir la fecha inicial» o «contar solo los días completos intermedios».
Diferencia entre fechas y tiempo transcurrido no son lo mismo
Una fecha es una etiqueta del calendario, no siempre un bloque de 24 horas. En Europe/Madrid, de la medianoche local del 28 de marzo a la del 30 de marzo de 2026 hay dos días naturales, pero solo 47 horas transcurridas porque el reloj se adelanta. Del 24 al 26 de octubre hay dos días naturales y 49 horas, porque se retrasa.
Si la pregunta es «¿cuántas fechas del calendario?», trabaja con fechas sin hora. Si es «¿cuánto tiempo ha transcurrido?», compara instantes precisos y devuelve horas, minutos o segundos. Dividir una diferencia de timestamps por 86.400 puede fallar como recuento de días durante un cambio horario.
Los modelos modernos separan ambos conceptos. La documentación de Temporal PlainDate trata la fecha civil aparte del instante exacto, y el RFC 5545 explica por qué las duraciones en días y semanas necesitan contexto de calendario cuando cambia el reloj.
Un método fiable para fechas sin hora
- Normaliza la entrada. Confirma el calendario y usa un formato inequívoco como
AAAA-MM-DD. - Conserva fechas como fechas. No inventes una medianoche o zona horaria.
- Asigna un número de día. Una biblioteca puede llamarlo ordinal o día desde la época.
- Resta. El número posterior menos el anterior da la diferencia con signo.
- Aplica la regla de los extremos. Inclúyelos o quítalos después de conocer la diferencia básica.
Un resultado con signo conserva la dirección: del 10 al 12 es +2; del 12 al 10 es −2. Usa el valor absoluto solo si la dirección no importa. Nuestra calculadora de diferencia entre fechas muestra años, meses, semanas y días sin convertir las fechas en timestamps.
Los años bisiestos deben resolverlos las reglas del calendario
| Inicio | Final | Diferencia normal | Ambas fechas incluidas |
|---|---|---|---|
| 2024-02-28 | 2024-03-01 | 2 días | 3 fechas |
| 2025-02-28 | 2025-03-01 | 1 día | 2 fechas |
| 2026-01-01 | 2027-01-01 | 365 días | 366 fechas |
En el calendario gregoriano, los años divisibles por 4 son bisiestos, salvo los años de fin de siglo que no sean también divisibles por 400. Una buena biblioteca ya aplica la regla; suponer 365 días por año es menos fiable.
Los meses y los años no tienen una duración fija en días
«Un mes después del 31 de enero» exige una política: ¿se limita al 28 o 29 de febrero, se desborda a marzo o se rechaza? Un año después del 29 de febrero plantea lo mismo en un año no bisiesto.
- 30 días transcurridos es una duración fija.
- Un mes natural mantiene una relación de calendario y necesita una regla de fin de mes.
- La misma fecha del mes siguiente puede no existir y necesita una alternativa explícita.
Si un contrato o producto dice «mensual», debe explicar qué ocurre al final del mes. Un mes natural no se debe sustituir silenciosamente por 30 días.
Los días hábiles necesitan un calendario laboral
Un día entre semana no siempre es hábil. Hay que definir los días laborables habituales; el país, región u organización; festivos y días de sustitución; si cuenta el día inicial; y qué pasa si el resultado cae en un día no laborable.
Para un cálculo ordinario de lunes a viernes, usa la calculadora de días hábiles. En nóminas, entregas contractuales, procesos judiciales o plazos regulados, aplica el calendario y la norma que gobiernen el caso.
Las normas sobre plazos pueden cambiar el conteo cotidiano
Los plazos legales muestran por qué no existe un ajuste inclusivo universal. Como regla general de la UE, se excluye el día del hecho que inicia el plazo; se incluyen fines de semana y festivos salvo que se hable de días hábiles, y el vencimiento puede trasladarse si el último día es festivo o fin de semana. La fuente es el Reglamento (CEE, Euratom) n.º 1182/71.
La regla 6 de las actuales Reglas Federales de Procedimiento Civil de EE. UU. también excluye normalmente el día inicial, cuenta los fines de semana y festivos intermedios y desplaza el final si cae en uno. En Inglaterra y Gales, la regla 2.8 de las Civil Procedure Rules define los «clear days» excluyendo tanto el día inicial como el del acto, con reglas adicionales para periodos cortos y oficinas cerradas.
Nuestra calculadora de plazos ayuda a explorar una fecha, pero no puede decidir qué norma jurídica corresponde.
Cinco preguntas antes de contar
- ¿Son fechas o instantes precisos? Un intervalo de cumpleaños y una métrica de respuesta requieren modelos diferentes.
- ¿Qué extremos cuentan? Anota por separado si se incluye inicio y final.
- ¿Qué calendario y zona horaria se aplican?
- ¿Los días no laborables tienen reglas especiales?
- ¿Qué ocurre en los bordes? Prueba el mismo día, orden inverso, 29 de febrero, fin de mes, fin de año y cambio de hora.
Un conjunto compacto de pruebas límite
| Caso | Resultado normal esperado | Error que detecta |
|---|---|---|
| 2026-03-10 → 2026-03-10 | 0 días; 1 si se incluyen ambas fechas | Tratamiento del mismo día |
| 2026-03-12 → 2026-03-10 | −2 días | Pérdida de la dirección |
| 2024-02-28 → 2024-03-01 | 2 días | Omisión del día bisiesto |
| 2025-02-28 → 2025-03-01 | 1 día | Regla bisiesta aplicada cada año |
| Madrid, 2026-03-28 → 2026-03-30 | 2 días naturales; 47 horas | Confundir días con bloques de 24 horas |
| 2026-01-31 + 1 mes natural | Depende de la política declarada | Tratar un mes como 30 días |
En software, las pruebas deben indicar la convención. «Días entre fechas» no es una especificación; «excluir el inicio e incluir el final en Europe/Madrid» se acerca mucho más. La documentación oficial de datetime de Python, por ejemplo, diferencia la resta de fechas de la aritmética de fecha y hora con zonas.
¿Qué calculadora debes usar?
- Diferencia entre fechas para la distancia del calendario.
- Días hábiles para excluir fines de semana ordinarios.
- Plazos para sumar o restar un número de días.
- Calendario para revisar días de la semana y límites de mes.
La idea esencial
No hay una única respuesta correcta hasta definir los extremos y el tipo de tiempo. Empieza con la diferencia normal, indica qué fechas cuentan, si importa el signo, qué calendario y zona se usan y si hay reglas laborales o jurídicas. Una sola frase adicional en la especificación evita la mayoría de errores de un día.