zzamov

Este sitio no utiliza cookies para los visitantes.

Información a usuarios registrados y comentaristas AQUI.

JavaScript – Número de semana para España

zzamov »

Como los cálculos que he encontrado por ahí no valen para España tocó desarrollar.

El cálculo que hace JavaScript es teniendo el principio de la semana en domingo y de ahí que en otros códigos el 2 de enero del 2023 de como resultado la semana 1 (w1).

Este se repetirá cada vez que el día 1 de enero sea domingo (cada 11 años aprox.). Al modificar un proyecto lo he descubierto y por eso publico mi solución/función.

function numerosemana(date) {
  var d = new Date(date);
  var year = d.getFullYear();
  var inicioyear = new Date(year, 0, 1);
  var diascompletarsemana1 = (inicioyear.getDay() || 7)-1;
  var diaspasados = (d - inicioyear) / (24*60*60*1000); // Date - Date devuelve milisegundos
  var semanaspasadas = ( diaspasados + diascompletarsemana1 ) / 7 ;
  return Math.ceil(semanaspasadas);//redondeo al alza

}

Creo que no hace falta explicar el código.

Etiquetas:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *