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

125
Vistas
¿Cómo puedo ajustar esta función para trabajar con el horario de verano?

Estaba usando este ejemplo para crear un calendario en angular. Pero hoy me di cuenta de que cuando finaliza el horario de verano, la fecha se repite y, a partir de ese momento, los días se interrumpen uno por uno.

Mira el stackblitz. El 7 de noviembre se repite. enlace de stackblitz al calendario

Este es el código que genera los días naturales. ¿Cómo ajusto esto para que DST no arruine todo?

 private getCalendarDays(date = new Date) { var startDate; startDate = this.getCalendarStartDay(date).getTime(); const calendarStartTime = startDate; return this.range(0, 41) .map(num => new Date(calendarStartTime + DAY_MS * num)); } private getCalendarStartDay(date = new Date) { const [year, month] = [date.getFullYear(), date.getMonth()]; const firstDayOfMonth = new Date(year, month, 1).getTime(); return this.range(1,7) .map(num => new Date(firstDayOfMonth - DAY_MS * num)) .find(dt => dt.getDay() === 0) } private range(start, end, length = end - start + 1) { return Array.from({ length }, (_, i) => start + i) }

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No estoy muy seguro, pero imagino que puedes obtener las fechas a las 12 a.m. para evitar el problema.

 private getCalendarStartDay(date = new Date) { const [year, month] = [date.getFullYear(), date.getMonth()]; //see that I indicate the 1 of the month at 12:00:00 const firstDayOfMonth = new Date(year, month,1,12,0,0,0).getTime(); //well the range from 0 to 6 return this.range(0,6) .map(num => new Date(firstDayOfMonth - DAY_MS * num)) .find(dt => dt.getDay() === 0) }

NOTA: Recibí tu error en octubre, no en noviembre

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