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

fechas en servidor

Estas en el tema de fechas en servidor en el foro de ASP Clásico en Foros del Web. cuando grabo fechas provenientes de un campo texto con este formato "dd/mm/aaaa" en el servidor lo graba cambiando el dia por el mes en realidad ...
  #1 (permalink)  
Antiguo 05/12/2006, 22:13
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 5 meses
Puntos: 1
fechas en servidor

cuando grabo fechas provenientes de un campo texto con este formato "dd/mm/aaaa" en el servidor lo graba cambiando el dia por el mes en realidad graba "mm/dd/aaaa" que puede estar pasando como lo soluciono
  #2 (permalink)  
Antiguo 05/12/2006, 22:17
 
Fecha de Ingreso: diciembre-2006
Mensajes: 20
Antigüedad: 17 años, 6 meses
Puntos: 0
Hola, lo que puedes hacer es crear variables que guarden el mes y el año ingresados en tu campo de texto, luego antes de mandarlo al servidor cambias de posicion ambas variables y de allí lo mandas.

Saludos
  #3 (permalink)  
Antiguo 05/12/2006, 22:19
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 5 meses
Puntos: 1
si lo imagino pero no hay un camino mas corto
  #4 (permalink)  
Antiguo 05/12/2006, 22:22
 
Fecha de Ingreso: diciembre-2006
Mensajes: 20
Antigüedad: 17 años, 6 meses
Puntos: 0
En vez de campo de texto, creas un select para el dia, otro para el mes y otro para el año, luego lo juntas en el formato que tu campo de bd te acepte.

Otro es que cambies el formato de fecha del campo de tu bd.

Saludos
  #5 (permalink)  
Antiguo 05/12/2006, 22:22
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 5 meses
Puntos: 1
muchas gracias efectivamente asi lo resolvi
  #6 (permalink)  
Antiguo 06/12/2006, 16:30
Avatar de lineadecodigo  
Fecha de Ingreso: diciembre-2006
Ubicación: España
Mensajes: 27
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: fechas en servidor

Tambén puedes ir a controlar el formato de las fechas (si quieres el campo unificado). Para ello te recomiendo que te leas el siguiente artículo sobre el control del LCDIC (aulambra.com/serverpages/asp/asp/FechasMonedasLCID/)

O bien ir a manipularla vía vbscript. Para ello echale un vistazo a aulambra.com/script/vbscript/FechaCastellanoVBS/

Puede servirte de inspiración.


Salu2.
Línea de Código

Última edición por AlZuwaga; 06/12/2006 a las 17:58
  #7 (permalink)  
Antiguo 09/12/2006, 22:36
 
Fecha de Ingreso: noviembre-2004
Mensajes: 117
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: fechas en servidor

El gran problema de las fechas,

En todas las paginas debes de añadir esta linea al comienzo del codigo

<%@LCID=1034 LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

El problema está a la hora de almacenarlas. Dependerá mucho del sgbd que estes usando. Si usas Access puedes usar esta funcion para guardar las fechas.

Código:
	Function  SqlFechaMdb(fecha)
		If Isdate(fecha) Then
			SqlFecha= "#" & Month(fecha) & "/" & Day(fecha) & "/" & Year(fecha) &  "#"
		End If
	End Function
Yo personalmente uso Mysql y tengo que guardar la fecha con esta otra funcion:

Código:
	Function  SqlFechaMysql(fecha)
		If not isDate(fecha) then fecha = Date()
		Dim ano
		Dim mes
		Dim dia
		ano = Year(fecha)
		mes = Month(fecha)
		dia = Day(fecha)
		SqlFechaMysql=  ano
		If Len(mes)=1 Then mes = "0" & mes
		SqlFechaMysql = SqlFechaMysql & mes
		If Len(dia)=1 Then dia = "0" & dia
		SqlFechaMysql = SqlFechaMysql & dia
	End Function
Aunque si necesito contar con la hora y los minutos uso esta:

Código:
	Function  SqlFechaMysqlExtendida(fecha)
		If not isDate(fecha) then fecha = Date()
		Dim ano
		Dim mes
		Dim dia
		Dim hora
		Dim minutos
		Dim segundos
		ano = Year(fecha)
		mes = Month(fecha)
		dia = Day(fecha)
		hora = Hour(fecha)
		minutos = Minute(fecha)
		segundos = Second(fecha)
		SqlFechaMysqlExtendida =  ano
		If Len(mes)=1 Then mes = "0" & mes
		SqlFechaMysqlExtendida = SqlFechaMysqlExtendida & mes
		If Len(dia)=1 Then dia = "0" & dia
		SqlFechaMysqlExtendida = SqlFechaMysqlExtendida & dia
		If Len(hora)=1 Then hora = "0" & hora
		SqlFechaMysqlExtendida = SqlFechaMysqlExtendida & hora
		If Len(minutos)=1 Then minutos = "0" & minutos
		SqlFechaMysqlExtendida = SqlFechaMysqlExtendida & minutos
		If Len(segundos)=1 Then segundos = "0" & segundos
		SqlFechaMysqlExtendida = SqlFechaMysqlExtendida & segundos
	End Function
Las funciones realizan un parseo de la fecha al patron especifico que nos pide la base de daos. Es MUY importante que guardes las fechas correctamente para que no haya transformaciones de fechas raras (i.e.: tu introduces dia/mes/año y la base de datos intrepreta mes/dia/año)

Para visualizarlas solo es necesario el encabezado.

espero que te sirva de ayuda
__________________
Saludos a todos ;)

Fiat en Malaga
.. y ahora con CSS!
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 23:18.