Nueva pregunta

Pregunta:

Fecha: 31-03-2016 13:50:30 (En Español)

Validar fechas Javascript [Resuelta]

quisiera validar dos fechas que la fecha de inicio no sea mayor que la fecha final. el tema es que el formato de fechas que estoy enviando es (31/03/2016 16:46) con hora ya que si me importa. tengo un codigo pero no me funciona bien ya que cuando las fechas son las mismas me muestra el mensaje que predetermine osea que valida como que la fecha inicio es mayor que la fecha fin. les pongo el codigo de mi funcion javascript.

function validate_fechaMayorQue() {
    missinginfo = "";

    var rangoini = document.getElementById('fec_inicio').value;
    var rangofin = document.getElementById('fec_fin').value;

    if (rangoini > rangofin) {
        missinginfo += "\n- Fecha de inicio mayor que fecha fin.";
    }

    if (missinginfo != "") {
        missinginfo = "**************************************\n" +
                "Ingrese la informaci\xf3n que se solicita:\n" +
                missinginfo + "\n***********************************\n" +
                "Haga clic en aceptar, llene los datos faltantes.";
        alert(missinginfo);
        return false;
    } else {
        return true;
    }
}


gracias por cualquier ayuda.
Etiquetas: DateTime - Javascript - Pregunta - Validaciones Votos: 2 - Respuestas: 5 - Vistas: 17 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 31-03-2016 18:46:52 Hola Juan:

    Prueba con Date.parse() (comparamos las fechas en milisegundos).

    Te quedaría así:
    function validate_fechaMayorQue() {
        missinginfo = "";
    
        var rangoini = document.getElementById('fec_inicio').value;
        var rangofin = document.getElementById('fec_fin').value;
    
        if ((Date.parse(rangoini)) > (Date.parse(rangofin))) {
          missinginfo += "La fecha de inicio mayor que la fecha fin.";
        } else if ((Date.parse(rangoini)) < (Date.parse(rangofin))) {
          missinginfo += "La fecha de inicio menor que la fecha fin.";
        } else {missinginfo += "Ambas fechas son iguales.";}
    }


    Nos cuentas.
      Votos: 3 - Link respuesta
     
  • Fecha: 31-03-2016 19:14:56 gracias voy a probar y te cuento   Votos: 0 - Link respuesta
     
  • Fecha: 01-04-2016 05:53:39 Obviamente no te va a funcionar la respuesta de Txema Artzain, por la sencilla razón de que tu fecha no tiene un formato válido.

    Se que es dificil, y que nuestra fecha "latina" es mucho muy bonita, pero tienes que transformarla a un estandar. Es decir pasar de:

    31/03/2016 16:46


    a

    2016-03-31T16:46:00


    una vez con esto, ya puedes generar una fecha valida así:

    var fecha = new Date('2016-03-31T16:46:00')


    y crear un código simple de comparación:


    var fecha = new Date('2016-03-31T16:46:00')
    var hoy = new Date();
    
    if(fecha > hoy){
       //elegiste un dia futuro
    }
    


    para despues pasar a JSON
    fecha.toJSON()
    o cualquier otro formato del cual puedes tomar referencia aquí:

    http://www.w3schools.com/jsref/jsref_obj_date.asp
      Votos: 2 - Link respuesta
     
  • Fecha: 01-04-2016 12:51:38 les agradezco a los dos por su ayuda. las dos formas funcionan perfecto. les expongo el codigo que utilice solo tuve que cambiar el formato de fecha ya que al parecer Date.parse recibe fechas en formato mm/dd/yyyy.. no busque una funcion que lo realizara ya que estaba corto de tiempo.

    function validate_fechaMayorQue() {
       
        missinginfo = "";
        var rangoini = document.getElementById('fec_inicio').value;
        var rangofin = document.getElementById('fec_fin').value;
    	 
    	 valuesStart=rangoini.split("/");	 
    	  valuesEnd=rangofin.split("/");
    	
        if ((Date.parse(valuesStart[1]+'/'+valuesStart[0]+'/'+valuesStart[2])) > (Date.parse(valuesEnd[1]+'/'+valuesEnd[0]+'/'+valuesEnd[2]))) {
         missinginfo += "\n- Fecha Inicio es mayor que la fecha fin.";
    					   }
    					   
    	if (missinginfo != "") {
    				missinginfo ="**************************************\n" +
    				"Ingrese la informaci\xf3n que se solicita:\n" +
    				missinginfo + "\n***********************************\n" +
    				"Haga clic en aceptar, llene los datos faltantes.";
    				alert(missinginfo);
    				return false;
    				}
    				else return true;				
    				}
    



    muy agradecido por su ayuda
      Votos: 1 - Link respuesta
     
  • Fecha: 10-04-2016 05:09:08 Un apunte de interés sobre diferentes códigos de fechas (validación, comparación, formato, ...) en javascript:

    Enlace al apunte de interés
      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com