Cuente un día de la semana en el año de una fecha ISO
Cuente con exactitud cuántos lunes, viernes, domingos o cualquier otro día de la semana contiene el año natural indicado por una fecha ISO explícita.
Ejecutar — gratis
La calculadora valida la fecha completa, extrae su año y aplica las reglas del calendario gregoriano mediante aritmética entera determinista. No depende del reloj del equipo, de la configuración regional, de cambios horarios ni de un analizador de fechas del entorno. El resultado incluye el día normalizado, el recuento, la condición de año bisiesto, la duración del año y el día correspondiente al 1 de enero.
Indique una fecha explícita y un día semanal
Envíe una fecha escrita exactamente como YYYY-MM-DD y el nombre de un día, como Monday, Tuesday o Friday. La fecha es explícita porque determina el año natural que se examinará; el mes y el día no restringen el intervalo del recuento. Por ejemplo, tanto 2024-01-01 como 2024-11-30 seleccionan todo el año 2024. Aun así, la fecha completa debe ser un día gregoriano real, por lo que entradas imposibles como 2023-02-29 o un mes decimotercero se rechazan en lugar de ajustarse silenciosamente. Los nombres se reconocen sin distinguir mayúsculas y minúsculas, y también se admiten abreviaturas inglesas habituales de tres letras, como Mon, Wed y Sat. La respuesta repite la fecha original, identifica el año seleccionado, normaliza el día a su nombre inglés completo e informa de un índice cuyo origen es el domingo. Estos dos datos explícitos evitan depender de la fecha actual y permiten reproducir solicitudes archivadas mucho después de crearlas.
Comprenda cómo se obtiene el recuento determinista
Cada año gregoriano común tiene 365 días: 52 semanas completas y un día adicional. Un año bisiesto tiene 366 días, es decir, 52 semanas completas y dos días adicionales. Por ello, todos los días semanales aparecen al menos 52 veces. En un año común, el día en que cae el 1 de enero aparece una vez más. En un año bisiesto, los días correspondientes al 1 y al 2 de enero aparecen 53 veces. La calculadora aplica primero la regla gregoriana: los años divisibles por cuatro son bisiestos, salvo los años de siglo que no sean también divisibles por 400. Después calcula mediante enteros el día del 1 de enero y comprueba si el elegido está entre los uno o dos días adicionales. No crea ningún objeto JavaScript Date. Así evita el análisis dependiente del entorno, las zonas horarias del sistema, los cambios de horario y el comportamiento regional. La duración del año, el indicador de bisiesto y el día del 1 de enero permiten verificar por qué el resultado es 52 o 53.
Aplique el resultado a planificación y controles
Este recuento resulta útil cuando una estimación anual depende de un evento semanal recurrente. Los equipos de nóminas pueden determinar el número de viernes de pago antes de considerar festivos. Operaciones puede estimar los lunes de apertura, los centros educativos pueden medir posibles jornadas lectivas y los analistas pueden validar dimensiones de calendario generadas por otro sistema. Interprete el resultado como un recuento puramente calendárico, no como un total de días laborables. Los festivos, cierres de la organización, permisos, celebraciones regionales y horarios excepcionales quedan fuera de forma deliberada, porque requerirían una jurisdicción y una política que no figuran en los datos de entrada. Si necesita esas exclusiones, utilice este valor como base transparente y reste fechas conforme a su propio calendario. La fecha ISO explícita también facilita los procesos que ya disponen de una fecha de informe. El navegador y la API emplean el mismo solucionador puro, y las solicitudes automatizadas cuestan $0.002.
Qué puede hacer con ella
Estimar jornadas recurrentes
Cuente todas las apariciones de un día programado en el año del informe antes de restar festivos o cierres.
Comprobar calendarios de nóminas
Confirme si un día de pago semanal aparece 52 o 53 veces en el año asociado a una fecha de nómina.
Validar conjuntos de calendario
Compare los totales semanales de un calendario anual generado con una referencia gregoriana determinista.
Preguntas frecuentes
¿Cuánto cuesta una solicitud de API?
Cada solicitud de API cuesta $0.002.
¿Por qué debo indicar una fecha completa y no solo un año?
La fecha ISO explícita y validada aporta el año y encaja en procesos que ya utilizan fechas de referencia o informe.
¿Puede un día semanal aparecer más de 53 veces en un año?
No. Un año gregoriano contiene 52 semanas completas y únicamente uno o dos días adicionales.
¿Se excluyen los días festivos?
No. El resultado solo cuenta días del calendario y no aplica reglas festivas regionales ni internas.
¿Afecta la zona horaria al resultado?
No. El cálculo solo usa la fecha ISO escrita y aritmética gregoriana entera, sin reloj local ni análisis con Date.
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/count-weekday-in-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-06-15","weekday":"Monday"}'const res = await fetch("https://api.kit.forhosting.com/date/count-weekday-in-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-06-15",
"weekday": "Monday"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/count-weekday-in-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-06-15",
"weekday": "Monday"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/count-weekday-in-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-06-15","weekday":"Monday"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-06-15","weekday":"Monday"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/count-weekday-in-year", 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": "2024-06-15",
"weekday": "Monday"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.count_weekday_in_year",
"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. |