📅 Calculadora de Fechas
Calcula la diferencia entre dos fechas, suma o resta días/semanas/meses/años, cuenta días laborables (excluyendo fines de semana y festivos) y calcula edades. Auto-detecta varios formatos con soporte de zona horaria.
🔒 Sobre la privacidad
- ・Todos los cálculos ocurren en tu navegador
- ・Las fechas nunca se envían a ningún servidor
- ・Sin registro, sin inicio de sesión, sin pago
💡 Formatos auto-detectados
📖 Dónde se suele tropezar
Calcula la diferencia entre dos fechas, suma y resta a una fecha, cuenta días hábiles (excluyendo fines de semana y los festivos que indiques) y obtiene una edad. Detecta automáticamente YYYY-MM-DD, YYYY/MM/DD y la notación japonesa, y permite elegir zona horaria. Todo se ejecuta en el navegador. La aritmética de fechas no tiene una única respuesta correcta: cuántos días contiene un periodo, o qué significa sumar un mes cruzando un límite, son cuestiones de convención, algo muy distinto de cómo se comporte una implementación concreta.
| Caso | Qué ocurre | Qué hacer |
|---|---|---|
| La cuenta de días se desvía en uno | Del 1 al 3 de abril, son dos días o tres? La resta da dos, pero la expresión cotidiana tres días resulta de contar el uno, el dos y el tres. La diferencia está en si se incluye el primer día, y la respuesta varía según el sector y el contexto: las noches de alojamiento son una resta, los días trabajados incluyen ambos extremos, y un plazo contractual es lo que el contrato defina. El derecho civil japonés excluye el primer día, contando desde el siguiente, pero en la práctica los contratos suelen fijar otra regla, así que conocer el criterio legal no zanja la cuestión. | Indica en la especificación o en el contrato si el primer día cuenta. No es algo que deba decidir la implementación, sino un acuerdo que hay que cerrar antes. Del lado del código, codificar la intención en el nombre de la variable es lo más eficaz: escribir nights o inclusive_days en vez de days no deja margen a la mala lectura. Incluye siempre el caso del mismo día en las pruebas: si del 1 al 1 de abril son cero días o uno fija la especificación en una sola aserción. Un desfase de uno sigue ejecutándose sin errores, así que sin esa prueba te enteras en producción. |
| Sumar un mes no hace lo que esperas | Qué día es un mes después del 31 de enero? No existe el 31 de febrero, así que las implementaciones dan el 28 de febrero (recortado al fin de mes), el 3 de marzo (sumando 31 días y desbordando) o el 1 de marzo. Ninguna es incorrecta; son convenciones distintas. Peor aún, la operación no es reversible: un mes adelante y luego uno atrás no tiene por qué devolverte a la fecha original: 31 de enero, 28 de febrero, 28 de enero. Elige el día 31 como fecha de cobro de una suscripción y te topas con esto cada mes. | Decide cómo se tratan los fines de mes antes de sumar meses. Lo habitual es recortar un día inexistente al último del mes, que es lo más cercano a la intuición y el valor por defecto de la mayoría de bibliotecas. Cuando la fecha significa algo, como en la facturación o la renovación de un contrato, lo más seguro es sencillamente no permitir elegir del 29 en adelante: por eso tantos servicios de suscripción funcionan así. Si necesitas cierre a fin de mes, impleméntalo como un concepto aparte: defínelo como el último día del mes siguiente en lugar de 31 de enero más un mes, y la ambigüedad desaparece. |
| El cómputo de días hábiles varía por país y por año | Los festivos cambian cada año. En Japón, varios caen en el enésimo lunes y por tanto se mueven cada año, mientras que los equinoccios se determinan por cálculo astronómico y sólo quedan fijados en el boletín oficial del año anterior. Además, un festivo que cae en domingo genera un día de sustitución, y un día laborable atrapado entre dos festivos también pasa a serlo. Entre países el panorama cambia por completo: los mismos cinco días hábiles terminan en fechas distintas en Japón, Estados Unidos, China y el mundo islámico; el periodo del Año Nuevo chino y el fin de semana en viernes de Oriente Medio se alejan mucho de los supuestos japoneses. | Esta herramienta toma de ti la lista de festivos, así que una lista desfasada da una respuesta desfasada. Los festivos japoneses los publica la Oficina del Gabinete en CSV; actualízalos desde ahí cada año, porque reutilizar la lista del año pasado es el error más frecuente en este tipo de cálculo. Cuando intervengan varios países en un cálculo de plazos, calcula cada país con su propia lista: la expresión día hábil es la misma, pero los días que designa no. Y siempre que el resultado se convierta en un plazo o una fecha de pago, confirma la fecha concreta con la otra parte: acordar una fecha en lugar de cinco días hábiles desde hoy elimina por completo la cuestión del recuento. |
Aunque creas que sólo manejas fechas, las zonas horarias se cuelan. Que 2024-01-01 se lea como UTC o como hora de Japón decide si el mismo instante es 1 de enero o 31 de diciembre: las 8 de la mañana del 1 de enero en Japón siguen siendo las 23 del 31 de diciembre en UTC. Con un servidor en UTC y usuarios en Japón, los totales de hoy cambian a las 9 de la mañana local. Al guardar una fecha en una base de datos, usa un tipo DATE sin componente horario, o unifica en UTC. Segundo: un cumpleaños o un aniversario no es un instante sino una fecha del calendario local: quien nació el 3 de mayo de 1990 cumple el 3 de mayo esté donde esté, y cruzar la línea de cambio de fecha en un vuelo no lo altera. Ponle una zona horaria a ese valor y se desplazará un día al consultarlo desde el extranjero. Recuerda que hay casos en los que no llevar hora alguna es el modelo correcto.
📖 Cómo usar
-
1
Elige un modoSelecciona Diferencia, Sumar/Restar, Laborables o Edad.
-
2
Introduce las fechasAcepta varios formatos comunes.
-
3
CalcularHaz clic en Calcular.
❓ Preguntas frecuentes
¿Las fechas se envían al servidor?
¿Cómo se manejan años bisiestos?
¿Cómo introduzco festivos?
🔗 Herramientas relacionadas
🐛 ¿Encontró un problema con esta herramienta?
Gratis, sin registro. Incluso solo los pasos para reproducir ayudan. Los informes van directamente al operador y se usan para corregir.
¡Gracias por tu reporte!
Tu reporte llegó al operador y se usará para mejorar.