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

Fecha y session-lcid=7178

Estas en el tema de Fecha y session-lcid=7178 en el foro de ASP Clásico en Foros del Web. Hola: Tengo el siguiente problema.- Desarrollé un sistema de envío y recepción de mensajes el cual los mensajes enviados son guardados en una base de ...
  #1 (permalink)  
Antiguo 02/07/2004, 16:06
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 4 meses
Puntos: 4
Exclamación Fecha y session-lcid=7178

Hola:
Tengo el siguiente problema.-

Desarrollé un sistema de envío y recepción de mensajes el cual los mensajes enviados son guardados en una base de datos.
El problema viene con la fecha:
Al guardarse los mensajes en la db, hay un campo llamado fecha (obviamente con formato fecha).
En este campo, guardo la fecha con Date().
Los mensajes son mostrados en un módulo, cuya línea de inicio es:
Código HTML:
[B]<%session.lcid=7178%>[/B]
Hasta aquí, debería funcionar bien ¿No? ¿Hay algo que pueda generar problemas hasta aquí?

¿Por qué lo pregunto?
El mismo sistema lo tengo corriendo en tres servidores diferentes (todos ellos de EEUU por lo cual el formato de fecha por defecto es en inglés).
En dos de ellos funciona bien, siempre.
Pero en uno de ellos, no. Pero lo más raro aún, es que a veces muestra la fecha en español y otras en inglés.
Por ejemplo, hoy hay 5 mensajes nuevos.
Los 5 fueron enviados consecutivos (con diferencia de 2 o 3 minutos desde las 8 de la mañana).
Los 4 primeros, muestra la fecha como 02/07/2004 y el último 07/02/2004.

Creo estar segura de que se están guardando mal las fechas en la base de datos.

¿Qué puede estar causando este problema?
¿Puede ser que la línea <%session.lcid=7178%> quede grabada y genere que las fechas se guarden mal? Aclaro que el módulo que guarda las fechas en la db NO tiene esta línea.
¿Será problema del servidor? Y en tal caso ¿Qué puede generarlo?

Agradeceré todas las opinionenes, ayudas, etc... que puedan darme.

Saludos para todos!!!!
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
  #2 (permalink)  
Antiguo 04/07/2004, 18:16
Avatar de Atonovich  
Fecha de Ingreso: diciembre-2002
Ubicación: ...
Mensajes: 117
Antigüedad: 21 años, 6 meses
Puntos: 0
Este link te puede ayudar
http://www.webexperto.com/articulos/...lo.php?cod=122
Saludos
__________________
" El hombre es una invención de Dios o Dios es una invención del hombre..."
  #3 (permalink)  
Antiguo 04/07/2004, 21:08
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 4 meses
Puntos: 4
Hola Atonovich:
Lo explicado en el artículo de WebExperto es justamente lo que venía haciendo desde hace tiempo, pero ese no es el problema.
El problema no está en mostrar la fecha, ya que mostrarla en formato español, no tiene grandes problemas. El lío está en cómo guarda la fecha Access.
Actualmente estoy intentando utilizar una función para guardar la fecha en formato año/mes/día la cual aparentemente está resultando bien.

Lo que a mi me llama la atención del método anterior, es por qe la misma fecha (por ejemplo 2 de Julio, a veces la guardaba como 02/07/2004 y otras 07/02/2004 y que esto, solo pasara en un servidor y no en otros.
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
  #4 (permalink)  
Antiguo 04/07/2004, 21:36
Avatar de Atonovich  
Fecha de Ingreso: diciembre-2002
Ubicación: ...
Mensajes: 117
Antigüedad: 21 años, 6 meses
Puntos: 0
¿Guardar la fecha en access?
La respuesta puede ser más sencilla de lo que parece
Supongamos que tienes esta tabla

CREATE TABLE TABLAPRUEBA(
ID_ALGO int PRIMARY KEY,
FECHA datetime
)

y quisieras insertar valores de fecha en esa tabla....

strSQL ="INSERT INTO " + tabla + " (" + campos + )" + _
__________________
" El hombre es una invención de Dios o Dios es una invención del hombre..."
  #5 (permalink)  
Antiguo 04/07/2004, 22:01
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 4 meses
Puntos: 4
Si si, pero creo que no me has entendido o yo no me he explicado bien.
Voy a tratar de ser más clara:

El tema es así:

Tengo una tabla en Access que tiene un campo llamado fecha (con formato fecha, obviamente) y otros campos.

Cada vez que agrego un registro, la fecha que se agrega es la actual. Esta fecha la agrego con Date().

Hasta aquí todo bien.

El servidor está configurado en idioma inglés.

La fecha, supuestamente debería guardarse siempre con formato en inglés.
Por ejemplo, la fecha 2 de Julio de 2004, en formato coro - Date() - debería guardarse como 07/02/2004.
Pero ¿Qué sucede en uno de los servidores?
A veces se guarda como 07/02/2004 y otras veces como 02/07/2004.

Primera pregunta: ¿Por qué puede estar pasando esto?
Segunda pregunta: ¿Puede estar influyendo en algo el hecho de que antes de guardarse ese nuevo registro, el usuario haya pasado previamente por un módulo que incluye la instrución session.lcid = 7178?

Aparentemente, ahora el problema se ha solucionado, ya que estoy utilizando una función VBSCRIPT que almacena la fecha en formato canonico aaaa/mm/dd y entonces Access, SIEMPRE reconoce el formato como Año, Mes, Día y en apariencia se terminó el problema.

Pero, lo que a mi me interesa saber, es [b]¿Por qué el formato de fecha estandar (no canónica) trae problemas con un servidor configurado en idioma inglés y no los trae con otros servidores configurados también en inglés? ¿Es problema del servidor? Y si es así ¿Cuál es ese problema?
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
  #6 (permalink)  
Antiguo 04/07/2004, 23:07
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Cita:
Aparentemente, ahora el problema se ha solucionado, ya que estoy utilizando una función VBSCRIPT que almacena la fecha en formato canonico aaaa/mm/dd y entonces Access, SIEMPRE reconoce el formato como Año, Mes, Día y en apariencia se terminó el problema.
esa es la mejor solución (luego de lidiar mucho tiempo con las fechas, me decidí por esa opción que hasta ahora me resulta -lo leí en un artículo de aspfaq.com-)

Ahora, creo entender que el problema de que algunos servidores que están en inglés respeten el formato y otros no está dado, además del idioma, por su configuración regional en el panel de control -y hasta por la configuración que tenga el usuario que inicia sesión-
  #7 (permalink)  
Antiguo 04/07/2004, 23:10
Avatar de Atonovich  
Fecha de Ingreso: diciembre-2002
Ubicación: ...
Mensajes: 117
Antigüedad: 21 años, 6 meses
Puntos: 0
Desmenucemos el problema...

<% session.lcid = 7178 %>

Es una directiva de indicación del formato de fecha, siempre está presente y cuando no se indica se hace implìcita.
7178 te indica el formato de fecha

Te puedes documentar muy bien en esta liga.
http://www.henri-ruch.ch/ASP/session/LCID_ASP.asp

Se refieren todos los formatos de fecha manejados de acuerdo a esa directiva de fecha.

Para asegurate que TODAS y cada una de tus variables de fecha se manejen en formato canónico y no gregoriano, coloca esa instrucciòn en el principio de cada página ASP.

Si esto no resuelve el problema, en tu tabla de inserciòn de datos de fecha -> Diseño, selecciona Máscara de entrada y formatea el tipo de datos que necesitas...

Suerte
__________________
" El hombre es una invención de Dios o Dios es una invención del hombre..."
  #8 (permalink)  
Antiguo 04/07/2004, 23:20
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 4 meses
Puntos: 4
Ok. Gracias a ambos.
dazuaga ¿Puedo hacerte una consulta "opinionativa" :D ?
En los servidores donde hasta ahora no he tenido problemas ¿Me aconsejas de todos modos cambiar al formato canonico "por si las moscas" o me quedo tal cual está?

Te lo pregunto porque si me aconsejas quedarme tal cual está, todo bien. Sino, también todo bien, pero debo modificar aproximadamente ciento y pico de módulos.

Graxias!!!
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
  #9 (permalink)  
Antiguo 04/07/2004, 23:47
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
TurKa, cuando es un tema de fechas, suelo no responder... porque a mi también me ocurrieron muchas de esas cosas (a las que no le encontraba explicación) y que me volvían loco (hasta hace no mucho tiempo).

Hasta hace un tiempo guardaba las fechas en un campo numérico en el formato AAAAMMDD y luego hacía las conversiones correspondientes para mostrarlas "humanamente comprensibles" y todo eso... pero hace poco leí un artículo de aspfaq.com que me convenció en usar un campo tipo fecha/hora sin importar el idioma del S.O., el tipo de configuración regional, el manejador de bases de datos ni nada de nada. Y, hasta ahora como te decía, me dio resultados.

Así que, desde mi humilde y corto punto de vista en lo relacionado con las fechas, te recomiendo que migres tus cientoytantos de módulos al formato ese.
  #10 (permalink)  
Antiguo 05/07/2004, 00:01
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 4 meses
Puntos: 4
jajaja OK!
Si usted lo dice es palabra Santa!!!

Así que a trabajar duro y cambiar todo ¡Hay por Dios! Que tengo que cambiar un montón. En fin... me pondré a trabajar (espero que no me de una alergia). :D

Mil Gracias!
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
  #11 (permalink)  
Antiguo 05/07/2004, 00:33
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
de nada, pero... mi palabra no es "sANTA" ni mucho menos. Mejor hacé pruebas y elegí lo que mejor que resulte
  #12 (permalink)  
Antiguo 21/10/2004, 00:21
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 4 meses
Puntos: 4
dazuaga ???? que le pasó a tu nick?????????

Volví a la carga y después de tanto buscar y leer uno a uno los mensajes vine directo a vos!!!!!

Lo de las fechas, lo resolví hiper bien ¡Nunca más un problema!!!! (capoooo!!!!)
Ahora ¿Podés creer que en otro servidor distinto al del quilombete con las fechas, se me traba el tema de formatear una moneda????

Habrá alguna especie de "moneda canónica" ????? (suena ridículo preguntarlo así)

Gracias "Al Zuwaga" ex dazuaga
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
  #13 (permalink)  
Antiguo 31/03/2007, 07:08
 
Fecha de Ingreso: noviembre-2006
Ubicación: República Dominicana
Mensajes: 17
Antigüedad: 17 años, 7 meses
Puntos: 1
De acuerdo Re: Fecha y session-lcid=7178

Seria más facil que Mostraras el código, pero si dices que se guarda bien en un server y en otro no.. deberia ser que la configuración regional del otro servidor es diferente por lo tanto trata de manejar los formatos de fecha personalizados y no se los dejes a la configuración regional de los servidores.

Espero me captes la idea.
  #14 (permalink)  
Antiguo 01/04/2007, 17:28
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Fecha y session-lcid=7178

Yo espero que después de casi tres años Turka haya podido resolver su problema
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #15 (permalink)  
Antiguo 07/05/2008, 05:55
 
Fecha de Ingreso: octubre-2007
Mensajes: 5
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Fecha y session-lcid=7178

Yo tengo el mismo problema que vosotros.

La solución que he adoptado es la siguiente:
1.- Guardar la fecha en un formato texto.
2.- El formato de la fecha es: yyyymmdd.
3.- Luego es cuestión de convertir para guardar y para mostrar.

Con esto se eliminan muchos problemas de formato y a mí me funciona.

Se que no es solución final, pero a mí me funciona.

Saludos.
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 18:18.