Foros del Web » Programando para Internet » ASP Clásico »

Campo fecha

Estas en el tema de Campo fecha en el foro de ASP Clásico en Foros del Web. Mucho hemos hablado sobre las fechas. El problema más comun esq tu entras una fecha en formato español y la BD te lo guarda en ...
  #1 (permalink)  
Antiguo 13/09/2002, 03:13
 
Fecha de Ingreso: enero-2002
Mensajes: 1.438
Antigüedad: 23 años, 3 meses
Puntos: 0
Campo fecha

Mucho hemos hablado sobre las fechas.

El problema más comun esq tu entras una fecha en formato español y la BD te lo guarda en ingles.

Otro problema es que el usuario introduzca una fecha incorrecta y entonces falle la consulta de actualización.

Que os parece si entre todos creamos un codigo que solucione TODOS los problemas con las fechas.

Empiezo yo:

<%
function Cfecha (fecha)
anho=year(fecha)
mes = month (fecha)
dia =day(fecha)
Cfecha=mes & "/" & dia & "/" & anho
end function
%>

Con esto nos aseguramos que las fechas entran en formato ingles en la BD.
  #2 (permalink)  
Antiguo 13/09/2002, 05:36
 
Fecha de Ingreso: marzo-2001
Ubicación: Gran Canaria
Mensajes: 381
Antigüedad: 24 años, 2 meses
Puntos: 2
Re: Campo fecha

hola rrufo!

la cosa es que si se solucionan solo esas dos cosas que dices, pues ya no deberian habar problemas con las fechas, no?, por lo que casi que con el codigo que has puesto, y comprobando por javascript antes de enviar los datos al script que la fecha indicada es correcta, ya esta to solucionado.

Lo de validar la fecha por javascript habra 500 maneras de hacerlo, pero yo pa quitarme problemas lo que hago es poner un campo select pa los dias, otro pa los meses y otro pa las años. Claro, de este modo me aseguro que soo me lleguen al script los datos correctos. Quizas sea un poco chapucilla, pero por ahora me he quitado de problemas :P


Saludos!



ToKaTa.
  #3 (permalink)  
Antiguo 13/09/2002, 05:46
 
Fecha de Ingreso: enero-2002
Mensajes: 1.438
Antigüedad: 23 años, 3 meses
Puntos: 0
Re: Campo fecha

Por lo que yo veo en la validacion, se puede hacer una de estas dos cosas:

a) por expresion regular, es la que hago, pero no me gusta

b) un case que mire por ejemplo si mes 1,3,5 ... entonces:
si dia > 31 then error
4,6,...
si dia > 30 then error
2 si dia 29 then error
si dia 29 y no bisiesto error

una cosa asi

que podriamos hacer para los años??

Os dais cuenta que se esta perdiendo la costumbre es escribir en seudo codigo

un saludo
  #4 (permalink)  
Antiguo 13/09/2002, 11:46
 
Fecha de Ingreso: marzo-2001
Ubicación: Gran Canaria
Mensajes: 381
Antigüedad: 24 años, 2 meses
Puntos: 2
Re: Campo fecha

tambien se podria optar por algo como:

Código:
 

<html>
<head>
<title></title>

      <script language="JavaScript">
		<!--
		function compruebaFecha(){
			cad = "";
			
			ruta = document.forms['formFecha'];

			//Validamos el dia
			numero = parseInt(ruta.dia.value);
			if (isNaN(numero))
				cad = cad + "El campo día tiene caracteres no válidos o está vacio\n";
	        else
				if ((numero > 31) || (numero < 1)) 
					cad = cad + "El campo día debe estar comprendido en el intervalo 1-31\n";      			

	
			//Validamos el mes
			numero = parseInt(ruta.mes.value);			
			if (isNaN(numero))
				cad = cad + "El campo mes tiene caracteres no válidos o está vacio\n";
	        else
				if ((numero > 12) || (numero < 1)) 
					cad = cad + "El campo mes debe estar comprendido en el intervalo 1-12\n"; 


			//Validamos el año
			numero = parseInt(ruta.agno.value);			
			if (isNaN(numero))
				cad = cad + "El campo año tiene caracteres no válidos o está vacio\n";
	        else
				if ((numero > 2010) || (numero < 1970)) 
					cad = cad + "El campo año debe estar comprendido en el intervalo 1970-2010\n"; 

			
			if (cad == "") 
				cad = "La fecha es correcta!"
			
			alert(cad);
       }
	-->
	</script>
</head>
<body bgcolor="#ffffff">
<form name="formFecha">
		Dia: <input type="text" name="dia"><br>
		Mes: <input type="text" name="mes"><br>
		Año: <input type="text" name="agno"> (intervalo 1970-2010)<br><br>
		<input type="button" name="submit" value="Comprobar" onClick="javascript:compruebaFecha();">
</form>
</body>
</html>


Saludos!



ToKaTa.
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 14:22.