Día de la semana del primero de mes desde una fecha ISO
Escriba cualquier fecha y sepa en qué día de la semana empezó su mes: el 13 de agosto de 2026 da el 1 de agosto de 2026, un sábado. También obtiene el número ISO del día y un índice desde el domingo para montar calendarios. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Fecha
- 2026-08-13
- Fecha de entrada
- 2026-08-13
- Primera fecha
- 2026-08-01
- Año
- 2 026
- Mes
- 8
Esta calculadora determina en qué día de la semana comenzó el mes de una fecha ISO explícita. El día introducido puede ser cualquiera del mes; el resultado siempre corresponde al día uno. Devuelve la primera fecha canónica, el nombre del día, el número ISO de la semana y un índice que comienza en domingo. La validación gregoriana estricta rechaza fechas imposibles.
Introduzca una fecha ISO completa e inequívoca
Indique el campo date como una fecha de calendario ISO completa con formato YYYY-MM-DD. Cuatro dígitos representan el año, dos el mes y dos el día. Por ejemplo, 2026-08-13 selecciona agosto de 2026, mientras que el último componente demuestra que usted ha facilitado una fecha real y explícita, no solo un mes incompleto.
La herramienta valida todo el valor antes de calcular el día de la semana. Los meses deben ir de 01 a 12, el día debe existir en el mes indicado y febrero sigue la regla gregoriana de años bisiestos. Normalmente es bisiesto un año divisible entre cuatro, salvo los años de siglo no divisibles entre cuatrocientos.
Se admite el intervalo de 0001 a 9999. Se rechazan fechas con hora, sufijos de zona horaria, fechas semanales u ordinales, separadores flexibles y formatos regionales. Así se evita normalizar sin aviso valores imposibles como 2023-02-29 o 2026-13-01.
Comprenda cómo se calcula el día de forma determinista
Después de validar, el solucionador conserva el año y el mes y sustituye deliberadamente el día por uno para calcular el día semanal. Aplica una fórmula gregoriana de enteros con una pequeña tabla de desplazamientos mensuales, ajustes para años divisibles entre cuatro, correcciones para siglos y restitución para años divisibles entre cuatrocientos. Enero y febrero se tratan como parte del año aritmético anterior.
El resto módulo siete genera un índice cuyo origen es el domingo: cero es domingo, uno es lunes y seis es sábado. La respuesta también convierte ese índice a la numeración ISO, donde lunes vale uno y domingo siete, y elige el nombre del día en una tabla constante. En ningún momento se crea una fecha del sistema.
Utilice el resultado en calendarios, informes y pruebas
Una interfaz de calendario puede calcular cuántas celdas vacías preceden al día uno. Los informes pueden etiquetar el día de apertura de cada período contable y las pruebas pueden crear casos estables sin simular un reloj ni cambiar la zona horaria. Esta herramienta no calcula el primer día laborable, no excluye festivos, no localiza nombres ni busca la primera aparición de un día solicitado.
Responde únicamente en qué día cayó el primero del mes que contiene la fecha ISO.
Qué puede hacer con ella
Construir una cuadrícula mensual
Use el índice semanal para colocar el día uno en su columna correcta y calcular las celdas vacías iniciales.
Etiquetar períodos contables
Añada el día de apertura a informes mensuales cuando una fecha de operación identifica el período que debe describirse.
Crear casos de prueba estables
Genere resultados deterministas para el inicio de mes sin leer el reloj, construir fechas locales ni configurar una zona horaria.
Preguntas frecuentes
¿El día introducido debe ser el primero del mes?
No. Se acepta cualquier fecha real del mes seleccionado. El cálculo valida esa fecha y obtiene el día semanal correspondiente al día uno.
¿Puede la zona horaria cambiar la respuesta?
No. El cálculo usa aritmética gregoriana de enteros y nunca crea un Date ni consulta la configuración horaria local.
¿Cómo me ayuda el resultado a montar un calendario mensual?
Use el índice que empieza en domingo para contar las casillas vacías antes del día 1. Agosto de 2026 empieza en sábado, índice 6, así que una cuadrícula que arranca en domingo necesita seis casillas vacías.
¿Qué diferencia hay entre los dos números del día?
El número ISO va del lunes como 1 al domingo como 7. El índice desde el domingo va del domingo como 0 al sábado como 6. Para un sábado, ambos coinciden en 6.
¿Da el primer día hábil del mes?
No. Solo indica el día de la semana del día 1. No salta fines de semana ni festivos, ni busca la primera vez que aparece un día de la semana elegido.
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/weekday-of-first-of-month \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-08-13"}'const res = await fetch("https://api.kit.forhosting.com/date/weekday-of-first-of-month", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-08-13"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/weekday-of-first-of-month",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-08-13"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/weekday-of-first-of-month", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-08-13"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-08-13"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/weekday-of-first-of-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-08-13"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.weekday_of_first_of_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. |
Notas técnicas
Introduzca una fecha ISO completa e inequívoca
Tras una validación correcta, el día introducido no altera la respuesta: todas las fechas válidas de un mismo mes producen los mismos campos first_date y weekday.
Comprenda cómo se calcula el día de forma determinista
Esto evita que una API de fechas interprete una cadena sin hora según reglas locales y desplace la medianoche a otro día. La misma entrada se rige exclusivamente por el calendario gregoriano proléptico y genera un resultado idéntico en UTC, en navegadores de otras zonas horarias y en llamadas futuras a la API.
Utilice el resultado en calendarios, informes y pruebas
La respuesta sirve tanto para mostrar información como para integrarla en programas. first_date contiene el valor canónico YYYY-MM-01 del mes seleccionado. weekday ofrece el nombre del día, iso_weekday devuelve el valor ISO de lunes a domingo entre uno y siete, y weekday_sunday_zero resulta útil para sistemas cuyas semanas comienzan el domingo con índice cero. También se incluyen input_date, year y month para que el resultado guardado se explique por sí mismo. El navegador es gratuito y las solicitudes automatizadas cuestan $0.002. Una fecha errónea devuelve invalid_input para distinguirla de un fallo interno.
Preguntas técnicas
¿Qué significa iso_weekday?
Sigue la numeración ISO: lunes es 1, martes es 2 y domingo es 7. También se devuelve weekday_sunday_zero para listas que empiezan en domingo.
¿Qué ocurre si facilito una fecha imposible?
La solicitud devuelve invalid_input. Esto abarca meses inválidos, días inexistentes, el año 0000 y el 29 de febrero de un año no bisiesto.
¿Cuánto cuesta una solicitud de API?
Una solicitud correcta cuesta $0.002. El mismo cálculo determinista también puede ejecutarse gratis en el navegador.