Días de fin de semana entre fechas
Enero de 2024 tiene 8 días de fin de semana: 4 sábados y 4 domingos. Escriba dos fechas cualesquiera y obtendrá el mismo desglose para su periodo, con ambos extremos incluidos, para planificar turnos, horas extra o permisos. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Inicio
- 2024-01-01
- Fin
- 2024-01-31
- JDN inicio
- 2 460 311
- JDN fin
- 2 460 341
- Día sem. inicio
- Monday
- Día sem. fin
- Wednesday
Saber cuántos días de fin de semana caen entre dos fechas del calendario es una necesidad práctica en planes de personal, reglas de horas extra, reservas de viaje, logística de eventos y cálculos de permisos. Quien busca un contador de sábados y domingos entre fechas quiere totales separados o combinados, no un intervalo de días brutos que aún deba filtrar a mano. Esta herramienta acepta dos fechas ISO estrictas en forma año-mes-día, comprueba que cada día exista en el calendario gregoriano —incluidos los febreros bisiestos—, convierte ambas a números de día juliano astronómico con una fórmula entera pura e informa cuántos sábados y domingos caen en cada día civil desde la fecha anterior hasta la posterior, ambas incluidas. El orden no altera los totales de fin de semana: el mismo par produce los mismos conteos de sábado y domingo tanto si indica primero el día temprano como el tardío, mientras la dirección con signo sigue disponible para pipelines cronológicos. Bases imposibles como el 29 de febrero en un año común fallan con un error de validación claro en lugar de ajustarse en silencio.
Cómo se cuentan sábados y domingos en un rango de fechas
Comience con dos fechas civiles escritas como año, mes y día en la forma ISO internacional con guiones y anchos fijos, de modo que todo cliente acuerde los mismos seis enteros.
Para cada cadena confirme que el año esté en un rango gregoriano práctico del uno al nueve mil novecientos noventa y nueve, que el mes esté entre uno y doce, y que el día exista para ese mes según las reglas bisiestas gregorianas: un año es bisiesto si es divisible por cuatro, salvo que los años seculares solo lo son cuando también son divisibles por cuatrocientos. Esa regla hace legal el 29 de febrero en años como 2024 y 2000, e ilegal en 2023 y 1900.
Cuando ambos triples son válidos, convierta cada día civil a un número de día juliano astronómico con la fórmula entera de Fliegel y Van Flandern usada en la familia de fechas. Tome el tramo inclusivo desde el número de día menor hasta el mayor, de modo que el orden nunca cambie el conteo. El día de la semana sigue la identidad modular día-de-semana igual a día juliano más uno módulo siete, con domingo como cero y sábado como seis, coincidiendo con el día civil del epoch Unix.
Cada semana completa dentro del tramo aporta exactamente un sábado y un domingo; el resto de a lo sumo seis días se recorre desde el día de la semana inicial, de forma que rangos largos de varios años permanecen en tiempo constante.
Dónde se usan contadores de fin de semana en el trabajo real
Los responsables de operaciones estiman la cobertura de fin de semana en tiendas, hospitales y centros de llamadas a partir de una ventana definida por dos fechas ISO. Equipos de RR. HH. y nómina calculan horas premium de fin de semana o derechos de descanso sin importar una biblioteca completa de calendario ni confiar en el reloj del navegador.
Planificadores de eventos y mesas de viajes cuentan noches de fin de semana dentro de una estancia o festival para tarifas y personal. Ingenieros de datos materializan columnas derivadas de exposición a fines de semana, días de descanso de campañas y carga de guardias a partir de dos cadenas ISO en configuración.
Si más adelante necesita conteos de días laborables que omitan fines de semana y festivos, semanas enteras más días sobrantes, suma de días a una sola base u ordinales del día del año, trátelos como intenciones de búsqueda y aterrizajes distintos en lugar de sobrecargar esta página de días de fin de semana entre fechas.
Qué puede hacer con ella
Personal y cobertura de fin de semana
Cuente sábados y domingos en una ventana de turnos para dimensionar guardias, listas de on-call y pago premium sin una biblioteca completa de calendario.
Permisos y derechos de descanso
Obtenga cuántos días de fin de semana caen entre dos fechas ISO de permiso para políticas, viajes y configuración de RR. HH. que ignore zonas horarias del anfitrión.
Eventos, estancias y campañas
Mida noches o exposición de fin de semana en festivales, hoteles y campañas de marketing definidas por dos cadenas ISO de calendario.
Preguntas frecuentes
¿Se incluyen ambas fechas de los extremos?
Sí. Se considera cada día civil desde la fecha anterior hasta la posterior inclusive.
¿Qué ocurre si una de las fechas es inválida?
Ejemplos: 2023-02-29, 2024-04-31, formatos incorrectos o campos ausentes. La entrada inválida no se cobra.
¿Omite festivos o usa fines de viernes a sábado?
No. Solo cuenta sábado y domingo en el calendario gregoriano proléptico. Días laborables con festivos y fines de semana personalizados son herramientas y páginas aparte.
¿Cuánto cuesta?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Cuántos días de fin de semana tiene enero de 2024?
Tiene 8: 4 sábados y 4 domingos repartidos en sus 31 días. Escriba 2024-01-01 como primera fecha y 2024-01-31 como segunda y verá el recuento separado por sábados y domingos.
Herramientas relacionadas
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/weekend-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-01-01","end":"2024-01-31"}'const res = await fetch("https://api.kit.forhosting.com/date/weekend-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-01-01",
"end": "2024-01-31"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/weekend-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-01-01",
"end": "2024-01-31"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/weekend-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-01-01","end":"2024-01-31"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-01-01","end":"2024-01-31"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/weekend-count", 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
{
"start": "2024-01-01",
"end": "2024-01-31"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.weekend_count",
"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. |
Notas técnicas
Qué envía y qué recibe a cambio
Envíe dos campos de cadena obligatorios: start y end, cada uno un día de calendario ISO estricto como 2024-01-01 y 2024-01-31. Comprobaciones clásicas incluyen el mes completo de enero de 2024 con cuatro sábados y cuatro domingos (ocho días de fin de semana), un rango de un solo sábado en el mismo día con saturdays igual a uno, y una semana laboral de lunes a viernes con cero días de fin de semana. Campos ausentes, valores que no sean cadena, cadenas que no coincidan con el patrón de cuatro-dos-dos dígitos y fechas que coincidan con el patrón pero no sean días reales del calendario fallan con invalid_input y no se cobran. En caso de éxito la respuesta repite las cadenas ISO normalizadas de inicio y fin, el número de día juliano de cada lado, los nombres en inglés del día de la semana de ambos extremos, signed_days como fin menos inicio, total_days_inclusive como el número de días civiles del intervalo cerrado, saturdays y sundays como conteos enteros separados, weekend_days como su suma, un indicador direction de forward, backward o same, y una cadena formula breve que documenta la ruta JDN. El precio de las llamadas API exitosas es la base publicada de $0.002 por ítem; los fallos de validación no consumen saldo prepago.
Dónde se usan contadores de fin de semana en el trabajo real
Como esta capacidad es un motor de parse puro, el precio de la API es la base publicada de $0.002 por ítem exitoso y la validación fallida no consume saldo.
Preguntas técnicas
¿El orden de entrada cambia el conteo de fin de semana?
No. Para saturdays, sundays y weekend_days se usa el rango inclusivo absoluto. signed_days y direction siguen reflejando fin menos inicio en pipelines cronológicos.