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

267
Visualizações
si no funciona correctamente si ambas fechas son el mismo día

Me gustaría mostrar la fecha límite si es hoy o en el futuro y la palabra 'Cerrado' si la fecha ha pasado.

Tengo el siguiente código que funciona APARTE de cuando la fecha límite y la fecha de hoy son las mismas.

HTML

 <div class="deadline-inner"> <p v-if="Date.now() > new Date(deadline)" class="showclosedtitle" > <i class="fa fa-calendar-check-o" aria-hidden="true"></i>Closed </p> <p v-else> <i class="fa fa-calendar-check-o" aria-hidden="true"></i> <strong>Deadline: </strong>{{ deadline }} </p> </div>

La fecha límite tiene este formato: "21 de diciembre de 2021"

También he probado:

 v-if="Date.now() >= new Date(deadline)" v-if="Date.now() > +1 new Date(deadline)"

pero todos ellos muestran la parte 'else' de la declaración si la fecha límite y la fecha de hoy son las mismas. Cualquier ayuda es apreciada.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Prueba con la hora de "final del día"

Escribiendo sus fechas en la consola del navegador (al momento de escribir esto):

 > new Date('21 December 2021'); Tue Dec 21 2021 00:00:00 > new Date(); Tue Dec 21 2021 12:19:09

Entonces new Date() siempre es "ahora" hasta el segundo (milisegundo, en realidad).
Su fecha comparada siempre es desde "00:00:00".
Entonces, si desea saber si new Date() es posterior a la deadline , agregue 23:59:59 como hora:

 new Date() > new Date('21 December 2021 23:59:59');

Esto ahora será falso hasta mañana.

Entonces, en su caso, podría resolverlo en la deadline o agregar el tiempo manualmente:

 v-if="Date.now() > new Date(deadline + ' 23:59:59')"
over 4 years ago · Santiago Trujillo Relatório

0

@user13928344 Su deadline no es lo suficientemente específica. No hay horas/minutos/segundos/milisegundos, por lo que el valor predeterminado es el primer momento en que existe la fecha, que es medianoche o 00:00:00:000. Por lo tanto, su nueva Fecha () siempre será mayor que la fecha límite y devolverá verdadero (salvo la posibilidad muy pequeña de que su lógica se ejecute exactamente a la medianoche y todos los ceros, en cuyo caso sería igual a su fecha límite y no mayor que , por lo que devolvería falso). ¿De dónde obtienes tus datos de fecha límite? ¿Lo está transformando usted mismo al formato actual y lo está obteniendo de un servidor? Si es así, conviértalo a una fecha/hora más específica. De lo contrario, si proviene de la entrada del usuario, es decir, un formulario, convierta su fecha a milisegundos y luego agregue 86340000 , lo que llevará su fecha límite hasta el final de ese día.

over 4 years ago · Santiago Trujillo 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