PDA

Ver la Versión Completa : 2 problemas con la hora,time


cascarrabias
21-07-2008, 19:13:50
Hola, a todos tengo una tabla donde tengo un campo hora de tipo time without timestamp, en el cual con el comando...current_time guardo en el la hora, lo cual hace correctamente, pero me ocurren 2 inconsistencias que acontinuacion explico...

1.- la hora del servidor esta 6 horas adelantada de la hora real, es decir si es la 1 de la tarde, el servidor me guarda en el campo con current_time las 18 horas es decir las 6 de la tarde...

2.- si consulto desde delphi con un simple query "select hora from mitabla", y visualizo el dataset con un dbgrid, siempre me da las 12:00:00 am


el servidor es postgre 8.2, la aplicacion cliente corre en la misma maquina donde esta el servidor, es decir localhost. Utilizo los componentes zeos para conectarme.
espero alguien tenga alguna sugerencia...de antemano gracias.

donald shimoda
21-07-2008, 19:28:37
Hola, a todos tengo una tabla donde tengo un campo hora de tipo time without timestamp, en el cual con el comando...current_time guardo en el la hora, lo cual hace correctamente, pero me ocurren 2 inconsistencias que acontinuacion explico...

1.- la hora del servidor esta 6 horas adelantada de la hora real, es decir si es la 1 de la tarde, el servidor me guarda en el campo con current_time las 18 horas es decir las 6 de la tarde...


Este es el comportamiento esperado o no entiendo tu pregunta.


2.- si consulto desde delphi con un simple query "select hora from mitabla", y visualizo el dataset con un dbgrid, siempre me da las 12:00:00 am


Ahí si que me dejas rebotando. No se me ocurre que puede ser , suponiendo que el tipo de datos sea el correcto, etc, si pasas los fuentes o el formulario en texto quizás descubra cual es el tema.

Ah, y siempre di que versión de zeos usas.
Saludos.

cascarrabias
21-07-2008, 20:46:00
Este es el comportamiento esperado o no entiendo tu pregunta.



Ahí si que me dejas rebotando. No se me ocurre que puede ser , suponiendo que el tipo de datos sea el correcto, etc, si pasas los fuentes o el formulario en texto quizás descubra cual es el tema.

Ah, y siempre di que versión de zeos usas.
Saludos.


gracias...me parece que utilizo la 6.6.2 era una que todavia estaba en test, pero la ventaja es que se instala facilmente en delphi 2007..
en cuanto llegue a mi casa te paso el formulario, realmente es muysimple...pero porfa me podras explicar lo de la hora? como que es correcto que este 6 horas adelantado? disculpa la ignorancia...

donald shimoda
21-07-2008, 20:49:03
gracias...me parece que utilizo la 6.6.2 era una que todavia estaba en test, pero la ventaja es que se instala facilmente en delphi 2007..
en cuanto llegue a mi casa te paso el formulario, realmente es muysimple...pero porfa me podras explicar lo de la hora? como que es correcto que este 6 horas adelantado? disculpa la ignorancia...

Vos decís que esa es la hora del server (que supongo esta en otra zona horaria, o simplemente mal configurada la hora), por tanto la esta tomando o bien de donde se ejecuta el servidor o bien de donde se ejecuta la base de datos.

Como no me quedo claro si es una aplicacion cliente contra un motor de base de datos directo, no se cual de los dos esta afectando.

Saludos.

cascarrabias
21-07-2008, 22:02:38
Vos decís que esa es la hora del server (que supongo esta en otra zona horaria, o simplemente mal configurada la hora), por tanto la esta tomando o bien de donde se ejecuta el servidor o bien de donde se ejecuta la base de datos.

Como no me quedo claro si es una aplicacion cliente contra un motor de base de datos directo, no se cual de los dos esta afectando.

Saludos.

mira, el sistema donde esta instalado postgre marca la 1, y el postgre al guardar la hora, marcar las 6 en ese mismo momento, donde supongo que tienes razon es en que esta mal configurada la hora del postgre, pero como la configuro, no se supone que deberia tomar la hora del sistema en el que esta corriendo? por cierto esta corriendo en windows server

cascarrabias
21-07-2008, 22:34:26
Mira, esto es lo unico que tengo en el formulario:
los datos fecha y usrlist los da el usuario...


Form1.zQuery1.SQL.Text := 'SELECT accion,hora FROM "__aaaeventos"
WHERE fecha='''+fecha+''' AND usuario='''+Usrlist.text+'''; ';
Form1.zQuery1.Open;



de ahi, el dbgrid que esta asociado al dataset del query1 se llena correctamente con el campo accion con todas las acciones realizadas pero en el campo hora, todas marcan las 12:00:00 am, y si lo consulto directamente a la base de datos mediante el pgAdmin las horas si son distintas....
que podra ser?

2-D@monic
29-07-2008, 05:33:44
si no me equivoco le estas dando parámetros a tu consulta de la fecha y el usuario no?... creo que deberías verificar la función que estas ejecutando (si es que es así) o en trozo de código estas ejecutando el current_time.
Podrías ser más preciso.......... utilizas funciones en postgresql o ejecutas sql en delphi desde el cliente.

cascarrabias
29-07-2008, 06:03:13
si no me equivoco le estas dando parámetros a tu consulta de la fecha y el usuario no?... creo que deberías verificar la función que estas ejecutando (si es que es así) o en trozo de código estas ejecutando el current_time.
Podrías ser más preciso.......... utilizas funciones en postgresql o ejecutas sql en delphi desde el cliente.


Hola, gracias, el current_time lo utilizo en un funcion postgre para guardar la hora en la tabla, lo cual hace correctamente, si lo consulto directamente en pgadmin o desde consola, la hora se guarda "correctamente" con 6 horas de diferencia que comentaba y tambien esta el problema de que si hago la consulta desde delphi con zeos, esa columna hora llega con puro 12:00 am, el codigo de la funcion postgre solo es asi:


execute
'INSERT INTO "__aaaeventos" (usuario,accion,fecha,hora)
VALUES('''|| usuario ||''','''|| evento ||''',current_date,current_time)';