JavaScript - Comparar una fecha con el valor de un ID.

 
Vista:
Imágen de perfil de Miguel Angel
Val: 8
Ha aumentado su posición en 8 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Comparar una fecha con el valor de un ID.

Publicado por Miguel Angel (2 intervenciones) el 09/05/2021 11:18:36
Hola amigos de La Web del Programador, a ver si me echáis un cable.
En una pagina Web que estoy realizando, necesito comparar la fecha actual con el valor de Id, para que en función de que ese valor sea anterior o posterior a la fecha actual muestre un mensaje u otro. Este es el archivo index.html:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<body>
          <div class="container">
               <div class="row">
                    <div class="col-12 col-md-8 principal">
                         <p>Lorem ipsum...</p>
                         <div class="imagen" id="15/5/2021">
                              <img class="img-fluid" src="img/chapa.png" alt=""/>
                         </div>
                         <div class="video" id="20/5/2021">
                              <video src="img/homenaje.mp4" controls="controls" width="320px" height="240px"></video>
                         </div>
                    </div>
               </div>
          </div>
           <!--jQuery primero, luego Popper.js, luego Bootstrap JS-->
          <script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
          <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
          integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
          crossorigin="anonymous"></script>
          <script type="text/javascript" src="js/bootstrap.min.js"></script>
          <script type="text/javascript" src="js/calendario.js"></script>
</body
Este es el archivo de javascript llamado calendario.js que va a mostrar un menaje u otro según vayan quedándose caducados con respecto a la fecha actual:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready(function(){
	borraElemento();
	function borraElemento(){
		var fechaTotal=new Date();
		//Construyo la fecha actual.
                var fechaActual=fechaTotal.getDate()+"/"+(fechaTotal.getMonth()+1)+"/"+fechaTotal.getFullYear();
                //Recupero el valor del id del elemento con clase imagen que también es otra fecha de tipo string.
		var fechaElemento=$(".imagen").attr("id");
                /*Aqui comparo ambas fechas y siempre me devuelve que el elemento
                ha caducado, cuando la fecha es posterior.*/
		if(fechaActual>fechaElemento){
			alert("Caducado");
		}else{
			alert("Sin caducar");
		}
	}
});
No se exactamente que estoy haciendo mal, pero me estoy chocando contra un muro desde hace varios días. Os agradecería enormemente si pudierais echarme una mano con esto que sospecho que es una tontería.
Un saludo y gracias de antemano por todo.
Miguel Ángel.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Comparar una fecha con el valor de un ID.

Publicado por joel (895 intervenciones) el 10/05/2021 08:11:43
Hola Miguel, en tu código estas comparando una cadena, no una fecha.
Para solucionarlo, tienes que pasar la fecha del id a formato Date y entonces hacer la comparación entre objetos Date().

Seria algo así:
1
2
3
4
5
6
7
8
let valoresFecha=document.querySelector(".imagen").id.split("/");
let fechaElemento=new Date(valoresFecha[2], parseInt(valoresFecha[1])-1, valoresFecha[0]);
let fechaActual=new Date();
if(fechaActual>fechaElemento){
    alert("Caducado");
}else{
    alert("Sin caducar");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Angel
Val: 8
Ha aumentado su posición en 8 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Comparar una fecha con el valor de un ID.

Publicado por Miguel Angel (2 intervenciones) el 10/05/2021 10:23:14
Antes que nada, infinitas gracias Joel por tomarte la molestia de ayudarme a solucionar este problema.
He probado la solución que me has expuesto y, efectivamente, funciona. Y no solo eso, he aprendido cosas nuevas con tu respuesta, ya que no me he limitado a copiar y pegar tu solución y ya esta, no. He dedicado un tiempo a entenderla, ya que, como habrás podido comprobar, mis conocimientos sobre javascript y jQuery, que es lo que normalmente utilizo, son bastante pedestres.
Lo dicho, gracias de nuevo por tu ayuda y por haber podido comprobar, en carne propia, que aun existen personas buenas que dedican una parte de su valioso tiempo a auxiliar (y enseñar algo) a los demás, no me extraña que seas el numero 1 en este foro y tengas categoría de medalla de oro.
Se despide con afecto.
Miguel Ángel.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Comparar una fecha con el valor de un ID.

Publicado por joel (895 intervenciones) el 10/05/2021 20:10:43
Me alegro que te sirviera, y gracias por tus palabras!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar