• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

223
Vistas
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 3 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

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 3 years ago · Santiago Trujillo Denunciar

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 3 years ago · Santiago Trujillo 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda