Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Comparar fechas

Estas en el tema de Comparar fechas en el foro de Javascript en Foros del Web. Hola, soy nueva en el foro, saludos a todos. Después de buscar en bastantes sitios he llegado a un punto donde ya no veo la ...
  #1 (permalink)  
Antiguo 25/07/2013, 05:18
 
Fecha de Ingreso: julio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 0
Comparar fechas

Hola, soy nueva en el foro, saludos a todos.

Después de buscar en bastantes sitios he llegado a un punto donde ya no veo la forma de seguir haciendo cosas "lógicas". Soy seminovata programando. Estoy intentando comparar dos fechas, una obtenida de un formulario y otra fecha determinada, para que un código javascript establezca en la fecha determinada unos precios distintos a los demás días del año.

Para ello:

-----

var fecha_reserva = document.getElementById ('calendario'); /*Obtengo la fecha en la que quieren reservar*/

var fechasp = fecha_reserva.value.split ('/');
var fecha_res = new Date ( fechasp[2], fechasp[1]-1, fechasp[0] );

var fechaclave = new Date (2013, 9, 8); // Quiero compararla con el 8 de septiembre.
fechaclave.setHours(0);
fechaclave.setMinutes(0);
fechaclave.setSeconds(0);
fechaclave.setMilliseconds(0);


var tclave = fechaclave.getTime();
var tres = fecha_res.getTime();

var diff = (tclave - tres);
if (diff == 0)
.......
else
........

-----

Alguna idea? Muchas gracias por la atención.
  #2 (permalink)  
Antiguo 25/07/2013, 05:58
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Comparar fechas

Cita:
var fecha_reserva = document.getElementById ('calendario'); /*Obtengo la fecha en la que quieren reservar*/

la parte comentada está mal (//) comentario para javascript (/*) comentario para css (< !--) comentario para html

var fechasp = fecha_reserva.value.split ('/');
var fecha_res = new Date ( fechasp[2], fechasp[1]-1, fechasp[0] );

var fechaclave = new Date (2013, 9, 8); // Quiero compararla con el 8 de septiembre.
fechaclave.setHours(0);
fechaclave.setMinutes(0);
fechaclave.setSeconds(0);
fechaclave.setMilliseconds(0);

para qué usas todos esos métodos?? con el objeto Date() es suficiente


var tclave = fechaclave.getTime();
var tres = fecha_res.getTime();

el método getTime() te devuelve los milisegundos transcurridos desde el 1 de enero de 1970 hasta la fecha dada. para comparar dos fechas no es necesario

var diff = (tclave - tres);
if (diff == 0)
.......
else
........

-----

para comparar dos fechas se usa el operador (<= o >=)
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 25/07/2013, 08:31
 
Fecha de Ingreso: julio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Comparar fechas

Hola Isabel, gracias por contestar:

Cita:
Iniciado por IsaBelM Ver Mensaje

var fecha_reserva = document.getElementById ('calendario'); /*Obtengo la fecha en la que quieren reservar*/

la parte comentada está mal (//) comentario para javascript (/*) comentario para css (< !--) comentario para html

Lo he puesto mal en el mensaje, en el código no hay comentarios.

var fechasp = fecha_reserva.value.split ('/');
var fecha_res = new Date ( fechasp[2], fechasp[1]-1, fechasp[0] );

var fechaclave = new Date (2013, 9, 8); // Quiero compararla con el 8 de septiembre.
fechaclave.setHours(0);
fechaclave.setMinutes(0);
fechaclave.setSeconds(0);
fechaclave.setMilliseconds(0);

para qué usas todos esos métodos?? con el objeto Date() es suficiente

Después de buscar, encontré un ejemplo que indicaba poner a cero todas las variables para que la comparación fuera correcta.


var tclave = fechaclave.getTime();
var tres = fecha_res.getTime();

el método getTime() te devuelve los milisegundos transcurridos desde el 1 de enero de 1970 hasta la fecha dada. para comparar dos fechas no es necesario

Lo hago ya que si coincide la fecha seleccionada con el 8/9/2013, el resultado sería 0. Si no estoy entendiendo mal el código...

var diff = (tclave - tres);
if (diff == 0)
.......
else
........

-----

para comparar dos fechas se usa el operador (<= o >=)

Entiendo las correcciones que me indicas, pero no la forma de utilizarlas para este ejemplo, seǵun me dices utilizo getTime para obtener los ms desde el 1/1/1970, si la fecha seleccionada en el formulario coincide con el 8/9/2013, el resultado es cero, diff es cero, y deberían ejecutarse las ordenes de esa parte del código. Cualquier otra fecha ejecutaría las ordenes del else. No actua así?

Gracias otra vez.

  #4 (permalink)  
Antiguo 25/07/2013, 08:42
 
Fecha de Ingreso: julio-2013
Mensajes: 3
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Comparar fechas

Me contesto, error de novata total, los meses empiezan en 0, el código está bien, pero comparaba con el mes siguiente al que quería...

Lo siento

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:22.