Sirve para calcular días hábiles entre dos fechas o averiguar qué día vence un plazo de 5, 10 o 15 días hábiles. La calculadora descuenta los fines de semana y los días de descanso obligatorio de México, con los lunes que los recorren, y puedes añadir Semana Santa, el 2 de noviembre, el 12 de diciembre o tus propios días. Todo se calcula en tu navegador: no se envía nada.
Es una ayuda para hacer cuentas, no asesoría legal. Cada trámite tiene sus reglas: un juzgado, el IMSS, el SAT o tu banco pueden tener días inhábiles propios, como vacaciones o suspensiones que publican cada año en el Diario Oficial. Si un plazo es importante, revisa el calendario de la autoridad que lo fija y, si hace falta, añade esos días en «Otros días inhábiles».
Los días de descanso obligatorio en México
El artículo 74 de la Ley Federal del Trabajo fija los días en que no se trabaja, o se paga doble a quien trabaja. Desde 2006, tres de ellos se recorren al lunes para hacer puentes:
- 1 de enero, Año Nuevo.
- Primer lunes de febrero, por el Día de la Constitución (5 de febrero). En 2026, el 2 de febrero.
- Tercer lunes de marzo, por el natalicio de Benito Juárez (21 de marzo). En 2026, el 16 de marzo.
- 1 de mayo, Día del Trabajo.
- 16 de septiembre, Día de la Independencia.
- Tercer lunes de noviembre, por la Revolución Mexicana (20 de noviembre). En 2026, el 16 de noviembre.
- 1 de octubre cada seis años, cuando cambia el Poder Ejecutivo Federal: fue en 2024 y será en 2030. Hasta 2018 era el 1 de diciembre, y la calculadora lo usa así en los años anteriores.
- 25 de diciembre, Navidad.
- El día de las elecciones ordinarias, cuando lo fijen las leyes electorales. Las elecciones federales son en domingo, así que no cambian la cuenta; si en tu estado hay otra fecha, añádela a mano.
Jueves y Viernes Santo, el 2 de noviembre y el 12 de diciembre no son descansos obligatorios por ley, aunque muchas empresas, escuelas y oficinas de gobierno los dan. Por eso son opcionales en la calculadora.
Plazos fiscales, bancos y juzgados
- SAT y Código Fiscal: en los plazos fijados en días, el artículo 12 del Código Fiscal de la Federación no cuenta los sábados, los domingos ni los mismos días festivos que la Ley del Trabajo, y añade el 5 de mayo. Tampoco cuentan los días de vacaciones generales de las autoridades fiscales, que el SAT da a conocer cada año, salvo para presentar declaraciones y pagar contribuciones. El texto del artículo 12 todavía habla del 1 de diciembre para el cambio de gobierno; la calculadora usa la fecha real de la transmisión, el 1 de octubre desde 2024.
- Bancos: la Comisión Nacional Bancaria y de Valores (CNBV) publica cada diciembre en el Diario Oficial los días del año siguiente en que las sucursales cierran. Suele incluir, además de los festivos de ley, Jueves y Viernes Santo, el 2 de noviembre y el 12 de diciembre, pero conviene revisar la lista de cada año.
- Juzgados y tribunales: cada poder judicial y cada tribunal publica su propio calendario, con periodos de vacaciones y días inhábiles adicionales.
- Cómo se cuenta un plazo: en la mayoría de los trámites, el plazo empieza a correr al día hábil siguiente a la notificación. Por eso, al sumar, la calculadora empieza a contar el día siguiente a la fecha de inicio. Al contar entre dos fechas, incluye las dos.
Calcular días hábiles en Python
Con datetime.date y el cálculo de la Pascua, sin bibliotecas externas:
from datetime import date, timedelta
def pascua(y):
"""Domingo de Pascua en el calendario gregoriano (algoritmo anónimo de Meeus/Jones/Butcher)."""
a, b, c = y % 19, y // 100, y % 100
d, e = divmod(b, 4)
g = (b - (b + 8) // 25 + 1) // 3
h = (19 * a + b - d - g + 15) % 30
i, k = divmod(c, 4)
l = (32 + 2 * e + 2 * i - h - k) % 7
m = (a + 11 * h + 22 * l) // 451
mes, dia = divmod(h + l - 7 * m + 114, 31)
return date(y, mes, dia + 1)
def lunes(y, mes, n):
"""El n-ésimo lunes del mes."""
uno = date(y, mes, 1)
return uno + timedelta((7 - uno.weekday()) % 7 + 7 * (n - 1))
def festivos(y, calendario="lft", santos=False, muertos=False, guadalupe=False):
"""Días inhábiles del año: art. 74 de la LFT o, con calendario='cff', art. 12 del Código Fiscal."""
f = {date(y, 1, 1): "Año Nuevo", lunes(y, 2, 1): "Día de la Constitución",
lunes(y, 3, 3): "Natalicio de Benito Juárez", date(y, 5, 1): "Día del Trabajo",
date(y, 9, 16): "Independencia", lunes(y, 11, 3): "Revolución Mexicana", date(y, 12, 25): "Navidad"}
if calendario == "cff":
f[date(y, 5, 5)] = "Batalla de Puebla"
if y % 6 == 2: # transmisión del Poder Ejecutivo: 1 de diciembre hasta 2018 y 1 de octubre desde 2024
f[date(y, 10, 1) if y >= 2024 else date(y, 12, 1)] = "Transmisión del Poder Ejecutivo"
if santos:
p = pascua(y)
f[p - timedelta(3)], f[p - timedelta(2)] = "Jueves Santo", "Viernes Santo"
if muertos:
f[date(y, 11, 2)] = "Día de Muertos"
if guadalupe:
f[date(y, 12, 12)] = "Virgen de Guadalupe"
return f
def es_habil(d, sabados=False, **opciones):
if d.weekday() == 6 or (d.weekday() == 5 and not sabados):
return False
return d not in festivos(d.year, **opciones)
def contar_habiles(desde, hasta, **opciones):
"""Días hábiles de desde a hasta, los dos incluidos."""
return sum(es_habil(desde + timedelta(i), **opciones) for i in range((hasta - desde).days + 1))
def sumar_habiles(desde, n, sentido=1, **opciones):
"""La fecha n días hábiles después (o antes): se empieza a contar el día siguiente."""
d = desde
while n:
d += timedelta(sentido)
n -= es_habil(d, **opciones)
return d
for dia, nombre in sorted(festivos(2026).items()):
print(dia, nombre)
print(contar_habiles(date(2026, 11, 1), date(2026, 11, 30))) # noviembre de 2026
print(contar_habiles(date(2026, 11, 1), date(2026, 11, 30), sabados=True))
print(sumar_habiles(date(2026, 12, 18), 5)) # cinco días hábiles tras el 18 de diciembre
print(sumar_habiles(date(2026, 3, 30), 10, santos=True)) # con Jueves y Viernes Santo de descanso$ python3 dias_habiles.py2026-01-01 Año Nuevo 2026-02-02 Día de la Constitución 2026-03-16 Natalicio de Benito Juárez 2026-05-01 Día del Trabajo 2026-09-16 Independencia 2026-11-16 Revolución Mexicana 2026-12-25 Navidad 20 24 2026-12-28 2026-04-15
Otras herramientas para México: la calculadora de vacaciones, la de aguinaldo, la de finiquito y liquidación y la de sueldo neto. Todas, en decodigo.com/herramientas.
Días de descanso obligatorio: Ley Federal del Trabajo, artículo 74 (fracción VII reformada en el DOF del 30 de septiembre de 2024). Plazos fiscales: Código Fiscal de la Federación, artículo 12. La herramienta y la función de Python se compararon en 19,983 cálculos al azar entre 2007 y 2100, con todas las combinaciones de opciones, y coinciden en todos. La Pascua y los festivos de la Ley Federal del Trabajo de esos años coinciden también con las bibliotecas dateutil y holidays de Python.