Comunidad de diseño web y desarrollo en internet online

Al grabar fecha MYSQL le resta 1 dia

Citar            
MensajeEscrito el 17 Jun 2011 04:07 pm
Hola

Tengo el siguiente problema:

Tengo 1 fecha correcta desde todo punto de vista en PHP. Pasada a timestamp con strtotime.
Cuando se la paso a MYSQL para grabarla LA GRABA CON UN DIA MENOS.
No importa que fecha sea: es siempre 1 dia menos.

Por supuesto ya he chequeado lo que me devuelve strtotime, antes de pasarselo y despues.
La fecha se ingresa en un form y en el script de validadacion se chequea que sea 1 fecha valida, luego la convierto a formato US y se la paso a strtotime. Que devuelve un numero.
Ese numero ya he chequeado de convertirlo de nuevo a fecha, y efectivamente es la fecha correcta que se habia ingresado.

Hasta ahi todo bien.

Pero cuando se la inserto en la base de datos MYSQL (usando la funcion FROM_UNIXTIME, sin usar la funcion FROM_UNIXTIME graba ceros en el campo) me la graba con 1 dia menos!!!
Una fecha correcta pero 1 dia menos. O sea, si la fecha pasada fue 12/05/2011 graba 11/05/2011 y si fue 01/01/2012 graba 31/12/2011!!!!

Sera un problema de configuracion de MYSQL?

Estoy con Wamp con PHP version 5.3.5 y MYSQL version 5.5.8

Muchas gracias por las respuestas!

Por abernard

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jun 2011 04:09 pm
Ahhh, por las dudas, en Linux (OpenSuse 11.1, Apache, PHP 5, MYSQL 5) es el mismo comportamiento.

Por abernard

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jun 2011 04:45 pm
¿Estás incluyendo la hora, minutos y segundos junto con la fecha?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 17 Jun 2011 09:00 pm
Hola, No estoy incluyendo la hora. Debería?

Por abernard

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Jun 2011 02:24 pm
....Hola, No estoy incluyendo la hora. Debería?.........
la razon por la que se incluye la hora es para saber la hora de GMT recuerda que las diferencias horarias hacen variar los dias por eso generalmente al guardar en una asbe de datos se debe de guardar la hora exacta y el horario, nome acuerdo bien el formato pero creo que era algo asi
2011/06/19 10:23:00-0400

los ultimos 5 digitos indican la diferencia horar con relacion a GMT la cual es de mi pais

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 20 Jun 2011 01:28 pm
Muchas gracias. Ese era el motivo del problema, que no incluia la hora.
Agregandole una hora como esta ('5:5:5') al string de fecha y luego convirtiendolo a fecha son strtotime guarda la fecha correcta.

Me gustaria saber porque funciona ese string de hora y no por ejemplo 23:00:00

Agradezco mucho que me hayan orientado a la solución.
Espero que este post sea de utilidad a otro.

Por abernard

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Jun 2011 01:32 pm
Muchas gracias. Ese era el motivo del problema, que no incluia la hora.
Agregandole una hora como esta ('5:5:5') al string de fecha y luego convirtiendolo a fecha con strtotime guarda la fecha correcta.

Me gustaria saber porque funciona ese string de hora y no por ejemplo 23:00:00

Agradezco mucho que me hayan orientado a la solución.
Espero que este post sea de utilidad a otro.

Por abernard

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jun 2011 02:26 am
abernard, estas tratando de guardar un tipo de hora UNIX, si no le pones todos los datos completos (dia, mes, año, hora, minuto, segundo y zona) nunca se guardará "bien".

No olvides la zona horaria (GMT), por ejemplo Peru y Colombia es GMT-5, mientras que Chile es GMT-4. Por lo que guardar las 9AM en Peru, no es lo mismo a guardar 9AM en Chile.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.