Días laborables restantes del mes, sin festivos
La calculadora de días laborables restantes del mes cuenta los días de lunes a viernes desde una fecha ISO explícita hasta el último día natural de ese mismo mes.
Ejecutar — gratis
La fecha inicial se incluye si cae entre lunes y viernes; se excluyen los sábados, domingos y festivos opcionales. Como el cálculo emplea aritmética gregoriana pura en UTC y nunca consulta el reloj actual, una misma entrada siempre produce el mismo resultado. La respuesta separa además los días naturales, los fines de semana y los festivos excluidos para que usted pueda auditar fácilmente el total final.
Elija la fecha que inicia el recuento
Indique una fecha natural explícita con el formato estricto YYYY-MM-DD, por ejemplo, 2026-07-20. Esa fecha determina tanto el primer posible día laborable como el mes cuyo último día cierra el intervalo. El cálculo es inclusivo: si la fecha inicial es lunes, puede sumar un día de inmediato; si es sábado, no puede hacerlo. No existe ninguna referencia oculta a hoy, a la zona horaria del servidor ni a la configuración regional del navegador. Por ello, el resultado es adecuado para informes repetibles, flujos programados, pruebas y registros que deban recalcularse más adelante. La respuesta incluye la fecha inicial normalizada, la fecha de fin de mes y el número de días naturales revisados. También indica expresamente que el intervalo es inclusivo. Si necesita un recuento que empiece mañana, envíe la fecha ISO explícita de mañana en lugar de restar o depender de una convención no declarada. Las fechas inválidas, incluidos los días bisiestos imposibles o los valores de mes y día sin dos dígitos, se rechazan en vez de corregirse silenciosamente. Los años entre 0001 y 9999 se procesan con las reglas gregorianas de años bisiestos.
Excluya fines de semana y festivos sin duplicarlos
Cada fecha comprendida entre el día indicado y el fin de mes se clasifica exactamente una vez. El sábado y el domingo se incorporan al total de fin de semana. Una fecha de lunes a viernes incluida en la lista opcional de festivos se incorpora al total de festivos. Todos los demás días de lunes a viernes forman el total de días laborables. Los festivos fuera del intervalo seleccionado son válidos, pero no surten efecto; así, usted puede enviar un calendario anual o regional reutilizable sin recortarlo en cada solicitud. Un festivo que cae en fin de semana no reduce dos veces la respuesta, y las fechas festivas duplicadas se consideran una sola exclusión. Cada festivo debe seguir siendo una fecha ISO real y estricta para detectar cuanto antes una configuración incorrecta. La API no deduce los festivos mediante un código de país, porque sus reglas cambian según la jurisdicción, la empresa y el año. Al proporcionar las fechas de forma explícita, el resultado permanece transparente y determinista. Esta herramienta representa una semana laboral convencional de lunes a viernes; no redefine viernes o domingo como fin de semana para calendarios regionales ni aplica reglas de media jornada.
Lea, verifique y automatice el resultado
Utilice workdays_remaining como respuesta principal. Los campos auxiliares permiten verificar la aritmética: calendar_days equivale a weekend_days más holiday_days más workdays_remaining. El campo month_end muestra el límite exacto, algo especialmente útil en febrero y en años bisiestos, mientras que holiday_days informa únicamente de los festivos entre semana que realmente modificaron el total. Esta estructura resulta práctica para cierres de nómina, planificación de entregas, paneles de capacidad mensual, previsiones de nivel de servicio y cálculos personales de plazos. En una integración automatizada, conserve la fecha de entrada y la lista de festivos junto con la respuesta para que futuros revisores puedan reproducir la misma cifra. El endpoint cuesta $0.002 por solicitud mediante la API, y cada solicitud representa un cálculo, con independencia del número de festivos enviados. El procesamiento es aritmética natural local: no realiza solicitudes de red ni consulta un servicio de festivos activo. Si su calendario empresarial contiene periodos de cierre, añada como festivo explícito cada día laborable afectado. Si necesita días laborables entre fechas arbitrarias o sumar una duración a una fecha, utilice una capacidad de recuento de intervalos o de adición de días laborables.
Qué puede hacer con ella
Capacidad mensual de personal
Estime la capacidad restante entre semana del mes de planificación a partir de una fecha fija de informe y la lista de cierres de la empresa.
Cierres de facturación y nómina
Cuente los días de procesamiento disponibles antes de fin de mes, excluyendo fines de semana y festivos conocidos de la oficina.
Informes de plazos reproducibles
Guarde una fecha explícita y una lista de festivos para recalcular más adelante la cuenta atrás de fin de mes con un resultado idéntico.
Preguntas frecuentes
¿Se incluye la fecha inicial?
Sí. Cuenta cuando cae entre lunes y viernes y no figura como festivo.
¿La calculadora utiliza la fecha de hoy?
No. Usted debe proporcionar la fecha explícitamente y nunca se consulta el reloj del sistema.
¿Qué ocurre si un festivo cae en fin de semana?
Solo se contabiliza como día de fin de semana, por lo que no reduce dos veces el total de días laborables.
¿Puedo enviar festivos de otros meses?
Sí. Las fechas festivas válidas situadas fuera del intervalo inclusivo se ignoran y no cambian el resultado.
¿Qué semana laboral utiliza?
Considera laborables los días de lunes a viernes y trata el sábado y el domingo como fin de semana.
¿Cuánto cuesta un cálculo mediante la API?
Cada solicitud a la API cuesta $0.002. La ejecución en el navegador está disponible sin cargo de API.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/date/workdays-remaining-month \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-07-20"}'const res = await fetch("https://api.kit.forhosting.com/date/workdays-remaining-month", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-07-20"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/workdays-remaining-month",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-07-20"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/workdays-remaining-month", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-07-20"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-07-20"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/workdays-remaining-month", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"date": "2026-07-20"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.workdays_remaining_month",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |