Date Calculator
Add or subtract days, weeks, months and years; analyse ranges with weekday and business-day counts
Date Calculator
Result
Date Range Calculator
Calculation History
Date Information
Business Days
Business days exclude Saturday and Sunday. Useful for project timelines, contract deadlines, and SLA windows that don't run on weekends. The calculator steps day-by-day and counts only Mon–Fri.
Weekdays Only
Weekdays in this tool are Monday through Friday — the same Mon–Fri set as Business Days for jurisdictions without statutory holiday data. If you need holiday-aware calendars, store holidays separately and skip them in your own loop.
Date Range Analysis
Pick a start and end date to see the span as days, whole weeks, calendar months, calendar years, weekday count, and weekend-day count — all counted inclusively from start to end.
Add / Subtract Units
Add or subtract days, weeks, months, years, hours, or minutes. Calendar arithmetic uses the browser's Date object, so leap years and short months are handled automatically.
Date Calculator
Add or subtract days, weeks, months and years; analyse ranges with weekday and business-day counts
Features
- Sume o reste días, semanas, meses, años, horas o minutos a cualquier fecha base — consciente del calendario (años bisiestos y meses cortos manejados por el objeto Date)
- El modo días hábiles salta sábado y domingo en ambas direcciones; valores positivos avanzan, negativos retroceden
- El modo solo días laborables cuenta únicamente lunes a viernes — el mismo conjunto lun–vie, útil cuando no hay datos de festivos
- El panel Rango de fechas analiza cualquier intervalo inicio–fin: días totales, semanas completas, meses y años calendario (con acarreo de día gestionado) más recuento de días laborables y de fin de semana (ambos extremos inclusivos)
- Historial de cálculos rodante con las últimas 10 operaciones que incluye fecha base, fecha resultado y día de la semana del resultado — copie cualquier resultado histórico con un clic
- Etiqueta de día de la semana renderizada vía Intl.DateTimeFormat siguiendo el idioma de la página ("Monday" en /en, "Pazartesi" en /tr, "Montag" en /de)
- Fechas analizadas al mediodía local para evitar el error de un día que afecta a Date.parse en cadenas YYYY-MM-DD en zonas UTC negativas
- Fechas resultado formateadas vía toLocaleDateString en la configuración regional activa — sin salida fija en-US, los nombres de meses y formatos numéricos siguen el idioma de la página
How to use
- Elija una fecha base — escriba una o haga clic en Hoy para fijar a la fecha actual.
- Elija una operación: Sumar, Restar, Días hábiles o Solo días laborables.
- Introduzca cuántas de la unidad elegida (días, semanas, meses, años, horas, minutos) aplicar; el resultado se actualiza al instante.
- Lea el panel de resultado: fecha calculada, día de la semana y resumen de diferencia; copie la fecha con un clic.
- Para análisis de rango, fije fecha de inicio y fin en el panel derecho para ver días totales, semanas, meses, años, recuento de días laborables y de fin de semana.
- Los cálculos recientes permanecen en el historial; use el botón copiar de cualquier fila del historial para recuperar un resultado anterior.
Tips & Best Practices
- Use Días hábiles / Solo días laborables para plazos de proyecto y SLAs contractuales que pausan en fin de semana.
- Rango de fechas funciona en ambas direcciones — si inicio es posterior a fin, la calculadora los intercambia internamente.
- Mantenga pulsado el spinner del campo valor para recorrer un rango rápidamente mientras observa el resultado.
- Copie desde el historial para recuperar un resultado ya calculado sin reescribir las entradas.
- Combine esta herramienta con el Convertidor de zonas horarias cuando necesite tanto un desfase calendario como un cambio de zona.
FAQ
¿Cuál es la diferencia entre Días hábiles y Solo días laborables?
En esta herramienta son idénticos — ambos saltan sábado y domingo y avanzan lunes a viernes. Los calendarios reales de días hábiles también saltan festivos legales, pero los datos de festivos son específicos de cada jurisdicción (federales de EE. UU., bank holidays de UK, días nacionales turcos, etc.). La herramienta se mantiene general saltando solo fines de semana; aporte su propia lista de festivos para un calendario laboral totalmente localizado.
¿Cómo se cuentan los meses y años calendario en el panel de rango?
Los meses se calculan como (años × 12) + meses entre inicio y fin, y luego se decrementa en uno si el día-del-mes del final es anterior al del inicio — así 15 feb → 14 mar cuenta 0 meses, mientras 15 feb → 15 mar cuenta 1. Los años se decrementan si el mes del final es anterior al del inicio, o el mismo mes pero día anterior. Coincide con cómo se piensan los aniversarios.
¿Por qué los días totales a veces difieren en uno al cruzar una transición DST?
La herramienta analiza las cadenas YYYY-MM-DD al mediodía local, lo que sitúa cada fecha a 12 horas de cualquier borde medianoche/DST — evita la trampa clásica de Date.parse donde "2026-03-08" se vuelve 2026-03-07 23:00 en zonas UTC negativas. Los días totales usan Math.round sobre el delta en milisegundos, por lo que un día de 23 horas en el adelanto primaveral redondea a 1 día.
¿Sumar 1 mes cae siempre en el mismo día del mes?
Casi — Date.setMonth de JavaScript arrastra el desbordamiento. Sumar 1 mes al 31 ene da 3 mar en años no bisiestos (feb tiene 28 días, así que día 31 de feb pasa a día 3 de marzo). Esto coincide con la mayoría de convenciones bancarias y de planificación; si necesita otra regla (sujetar a fin de mes, "último día hábil del mes"), aplique la aritmética en su propio código con sujeción explícita.
¿Puedo restar días hábiles para hallar una fecha límite anterior?
Sí. Elija la operación Restar con la unidad deseada, o use Días hábiles / Solo días laborables con valor negativo — el motor avanza día por día hacia atrás y solo cuenta lun–vie.
¿Los cálculos se hacen localmente?
Sí. Toda la aritmética de fechas usa el objeto Date integrado del navegador; nada se envía a un servidor, no se sube historial y la herramienta funciona sin conexión una vez que la página está en caché.
¿Por qué el formato de fecha mostrado difiere entre páginas en distintos idiomas?
Las fechas resultado y entradas de historial se renderizan con toLocaleDateString en el idioma activo, así /en muestra MM/DD/YYYY o DD/MM/YYYY (según variante en del navegador), /de muestra DD.MM.YYYY, /fr DD/MM/YYYY, etc. El cálculo interno trabaja en ISO YYYY-MM-DD; solo la capa de visualización sigue su locale.
¿La herramienta entiende los años bisiestos?
Sí. La aritmética de fechas delega en el objeto Date nativo, que sabe que 2024 tuvo 29 feb y 2025 no. Sumar 1 año al 29 feb 2024 cae en 1 mar 2025; coincide con la spec de JavaScript y la mayoría de apps de calendario. Si necesita una regla "sujetar a 28" en años no bisiestos, postprocese en su propio código.