Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

174
Visualizações
¿Por qué me agregan 5 horas en lugar de 4 en el horario de verano cuando uso el método de agregar y cómo puedo resolverlo?

Necesito agregar 4 horas a la fecha de mi momento js. Así que para eso estoy usando

 /* this timestamp is this date 27-03-2045 00:00 */ const someday = moment(2374178400000); const addedFourHours = someday.add(4, 'hours');

el 27 de marzo, el horario de verano ya pasó y se agregaron exactamente 4 horas y la fecha de finalización en addedFoursHours es el Mon Mar 27 2045 04:00:00 GMT+0200 .

Pero cuando pruebo la fecha en que sucede el horario de verano, por ejemplo, el 26 de marzo a la medianoche

 /* this timestamp is this date 26-03-2045 00:00 */ const someday = moment(2374095600000); const addedFourHours = someday.add(4, 'hours');

luego obtengo Sun Mar 26 2045 05:00:00 GMT+0200 . En el caso anterior, obtuve la hora 04:00 cuando agregué 4 horas después de la medianoche. ¿Por qué en horario de verano obtengo la hora 05:00?

Como puedo resolver esto ?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Entonces, lo que desea no es sumar 4 horas, sino encontrar la próxima vez que las horas sean un múltiplo de 4.

Por lo tanto, elimine toda sugerencia de su código de que está agregando cuatro horas (cf. su nombre de variable).

Puedes hacerlo:

 const someday = moment(2374095600000); console.log(someday.toString()); const hours = someday.hours(); someday.hours(hours + 4 - (hours % 4)); // Find next time that is multiple of 4. console.log(someday.toString());
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.3/moment.min.js"></script>

about 4 years ago · Juan Pablo Isaza Relatório

0

Desea agregar 3, 4 o 5 horas según la fecha, pero desea establecer valores específicos para las horas. Lea el valor de la hora, agregue 4 y establezca el valor:

 const today = moment(2374178400000); const four = moment(today).hours(today.hour() + 4); const eight = moment(four).hours(four.hour() + 4); const twelve = moment(eight).hours(eight.hour() + 4); const sixteen = moment(twelve).hours(twelve.hour() + 4); const twenty = moment(sixteen).hours(sixteen.hour() + 4); const tomorrow = moment(twenty).hours(twenty.hour() + 4); console.log(today); console.log(four); console.log(eight); console.log(twelve); console.log(sixteen); console.log(twenty); console.log(tomorrow);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.3/moment.min.js"></script>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda