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

Formato fecha en formulario

Estas en el tema de Formato fecha en formulario en el foro de ASP Clásico en Foros del Web. Hola, tengo un formulario en una pagina asp conectado con una base de datos en access. Todo va bien salvo un detalle. Cuando recupero una ...
  #1 (permalink)  
Antiguo 26/01/2011, 07:19
 
Fecha de Ingreso: marzo-2008
Mensajes: 127
Antigüedad: 16 años, 1 mes
Puntos: 1
Formato fecha en formulario

Hola,
tengo un formulario en una pagina asp conectado con una base de datos en access.
Todo va bien salvo un detalle. Cuando recupero una fecha del la base de datos me aparece en formato 'mm/dd/aaaa', pero esto no es lo peor, lo peor es que no ocurre siempre, solo cuando el dia y al mes de la fecha son intercambiables.
Por ejemplo:

'12/10/2010' me aparece como '10/12/2010'
mientras que
'29/10/2010' aparece como tal '29/10/2010'
Esto genera infinidad de confusiones, aparte de que si se vuelve a 'guardar' el formulario, las fechas quedan mal.
¿Sabe alguien el porque de esto?
¿Puedo dar formato a un campo de texto en DW, que es lo que utilizo?
Gracias
  #2 (permalink)  
Antiguo 26/01/2011, 11:51
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Busqueda Respuesta: Formato fecha en formulario

Se debe a la configuracion de fecha del sistema operativo del servidor asi como a la base de datos.

Para garantizar el formato:
1.- Define el Session.LCID adecuado en tu programa .asp
2.- Las fechas que recibas por parametros, antes de grabarlas, conviertelas:

fecha = request.form("campoFecha") ' Ejemplo: 01/03/1967 (1 de marzo)
if isdate(fecha) then
fecha2 = cdate(fecha) ' Dejara como fecha dd/mm/aaaa = 01/03/1967
end if

Al menos a mi me funciono asi.
  #3 (permalink)  
Antiguo 26/01/2011, 14:29
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 18 años, 3 meses
Puntos: 8
Respuesta: Formato fecha en formulario

prueba con
session.LCID = 1034
o
session.LCID = 1033
justo antes del campo que te muestra la fecha alrevez
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #4 (permalink)  
Antiguo 26/01/2011, 15:37
 
Fecha de Ingreso: marzo-2008
Mensajes: 127
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Formato fecha en formulario

Ya habia probado lo del LCID y me ocurre lo siguiente

LCID=1033

la fecha '9/2/2011' la veo como tal pero
la fecha '19/2/2011' la veo como '2/19/2011'

con LCID=1034 me ocurre al reves,

la fecha '9/2/2011' la veo como '2/9/2011' mientras que
la fecha '19/2/2011' la veo como tal

es una locura....
Esto tiene que estar resuelto.....¿no?

Gracias de nuevo
  #5 (permalink)  
Antiguo 27/01/2011, 05:12
 
Fecha de Ingreso: marzo-2008
Mensajes: 127
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Formato fecha en formulario

Centrando mas el problema.

Se trata de un formulario en DW5 con una base de datos access.

Al guardar una fecha, ponga el LCID que ponga, si el dia de la fecha es menor que 13 me la guarda en formato 'mm/dd/aaaa' y si el dia es mayor o igual a 13 me la guarda en formato 'dd/mm/aaaa'

Esto sin tocar yo nada de programacion, esta claro que es un conflicto entre asp (o DW) y access.

Lo sorprendente es que no exista ninguna referencia a este problema en ningun sitio.

Por favor, ¿no sabe nadie nada de esto?
Gracias
  #6 (permalink)  
Antiguo 27/01/2011, 11:22
 
Fecha de Ingreso: marzo-2008
Mensajes: 127
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Formato fecha en formulario

Bueno, ya lo he resuelto aunque sigo alucinado de que asp y access anden aún así, y llevo 25 años enredado con esto (con asp soy más bien novato)
Solo he encontrado una entrada referente a esto del año 2003, y sin respuesta.
Me he creado una función que cambia el formato solo en el caso de que el día sea inferior a 13.
Código:
<%
' Cambia formato dd/mm/aaaa a mm/dd/aaaa solo si el día es menor que 13
Function Cambiadm(str)
  if isdate(str) then
	  If day(cdate(str)) <= 12 Then
		Cambiadm = month(cdate(str))&"/"&day(cdate(str))&"/"&year(cdate(str))
	  Else
		Cambiadm = str
	  End If
  end if
End Function
%>
y la he implementado en la carga de parámetros

Código:
  MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param30", 135, 1, -1, MM_IIF(Request.Form("fuvisita"), cambiadm(Request.Form("fuvisita")), null)) ' adDBTimeStamp
Bueno, funciona que de eso se trata. Siempre he dicho que en informática se puede hacer casi todo, menos ganar dinero. ¡¡Cuatro días para esta mierda!! y un cliente que te mira con recelo.

Muchas gracias wwwmaster y mc_quakc, todo me ha valido.

Saludos

Etiquetas: formato, fechas, 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 04:40.