Estoy tratando de recuperar 7 días de la época a las 12 a. m., pero obtengo 7 días de atraso, pero igual que la hora actual, como a las 5 p. m., da 7 días atrás, pero a las 5 p. m. en lugar de a las 12 a. m. El siguiente código es lo que probé:
let createdAt = new Date(); createdAt = new Date().setDate(createdAt.getDate()-7);por favor, ayúdame a entender, ¿cómo recuperar las 12 am de 7 días?, gracias de antemano.
También necesita poner a cero el tiempo, por ejemplo
let createdAt = new Date(); createdAt.setHours(0,0,0,0); createdAt = new Date().setDate(createdAt.getDate()-7);La última línea también podría ser:
createdAt = createdAt.setDate(createdAt.getDate() - 7);ya que los métodos establecidos devuelven el valor de tiempo de la fecha actualizada.
O cree una nueva Fecha a partir de solo las partes de la fecha y obtenga su valor de tiempo, por ejemplo
let d = new Date(); let ms = new Date(d.getFullYear(), d.getMonth(), d.getDate() - 7).getTime(); console.log(ms + '\n' + new Date(ms).toString());