Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

167
Vistas
Cómo obtener el nombre del mes para un año y una semana determinados en Javascript

Tengo 2 campos de formulario en HTML, a saber, Año y Semana.

Una vez que el usuario selecciona un año y una semana de los menús desplegables, quiero mostrar el nombre del mes para el año y la semana seleccionados.

¿Alguien puede ayudarme a obtener el nombre del mes según el año y los números de la semana iso?

Por ejemplo: si seleccioné el año 2022 y la semana n.º 16, el resultado esperado es April como nombre de mes.

Esta debería ser una función que devuelva el nombre del mes para un año y una semana determinados.

A continuación se muestra mi código de muestra.

 getMonthName() { const year = 2022; const week = 16; console.log(month); }
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Ejemplo: https://codesandbox.io/s/damp-wood-nynj7f?file=/src/app/app.component.ts

  1. Crea un mapeador para tus meses:
  2. 4 semanas = 1 mes, luego obtenga el valor de entrada de la semana encubierta al número y divida 4. (Ejemplo: 16 / 4 === 4)
  3. El resultado es una clave de su mapeador: meses[resultado dividido]

Lo mejor es usar bibliotecas de fechas como: dayjs, date-fns, moment, luxon u otras.

 const months = { 1: "January", 2: "February" } changeWeekHandler(e) { const week = parseInt(e.target.value) const month = Math.ceil(week / 4) // for round number to the upper (example: Math.ceil(0.25) -> 1) this[your input field] = months[month] }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Forma realmente interesante. Se me ocurrió una solución como esta;

No sugiero que divida por 4 semanas por mes porque no todos los meses tienen 4 semanas. Pero a partir de su entrada, siempre puede saber el día del año a partir de varias semanas.

número de semana * 7 = número de día

crear un método:

 const dateFromDay = (year, day = 1) => { const date = new Date(year, 0); return new Date(date.setDate(day)); } // call the method with your inputs const myDate = edateFromDay(2022,16*7); // here you will have the full date // if you want just the month then myDate.getMonth();

Para su necesidad exacta:

 //Declare months const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; // Declare method for receiving your month name const dateFromWeek = (year, week = 1) => { const date = new Date(year, 0); return monthNames[new Date(date.setDate(week*7)).getMonth()]; } //When you use dateFromWekk(2020,3); //just write year and week, you will get the name of month
about 4 years ago · Juan Pablo Isaza Denunciar

0

A continuación, se mostrará el nombre del mes (forma corta) para el número de semana ISO y el año dados.

 function getMonthName(week, year) { let d =new Date(year,0,1+(week-1)*7); d.getUTCDay()<5?d.setUTCDate(d.getUTCDate()-d.getUTCDay()+1):d.setUTCDate(d.getUTCDate()+8-d.getUTCDay()); return (""+d).split(" ")[1]; } console.log(getMonthName(1,2022)); console.log(getMonthName(11,2022)); console.log(getMonthName(16,2022));

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda