🔬 Estándares de Cálculo ISO 8601

Documentación técnica y algoritmos para el cálculo del número de semana

Resumen Técnico

Todos los cálculos en este sitio siguen rigurosamente el estándar ISO 8601:2019. Este estándar internacional garantiza que el número de semana sea coherente en todos los países europeos y sistemas empresariales.

1. Reglas Fundamentales

2. Implementación JavaScript

Aquí está el algoritmo exacto utilizado para determinar el número de semana:

function getISOWeek(date) { // Copia de la fecha para no modificar la original const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate())); // Ajustar al jueves más cercano: fecha actual + 4 - día de la semana actual // Los números de los días: Dom=0, Lun=1, ... Sáb=6 const dayNum = d.getUTCDay() || 7; d.setUTCDate(d.getUTCDate() + 4 - dayNum); // Calcular el primer día del año const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1)); // Calcular días transcurridos y dividir por 7 return Math.ceil((((d - yearStart) / 86400000) + 1) / 7); }

3. Compatibilidad

✅ Soportado

  • Unión Europea (España, Alemania, Italia...)
  • Sistemas Financieros / Bancarios
  • Software Empresarial (SAP, Oracle)

❌ Diferente en

  • Estados Unidos (Inicia Domingo)
  • Canadá (Mixto)
  • Microsoft Excel (requiere configuración)