Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Insert una Fecha y Hora en MySql

Estas en el tema de Insert una Fecha y Hora en MySql en el foro de Mysql en Foros del Web. Buenos Días Estoy desarrollando una aplicación en "PHP/MySql", la pregunta es: Estoy guardando en una variable "PHP" la "Fecha/hora DATETIME ejemplo 2011-05-23 19:22:00" para grabarla ...
  #1 (permalink)  
Antiguo 15/07/2011, 08:49
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Insert una Fecha y Hora en MySql

Buenos Días

Estoy desarrollando una aplicación en "PHP/MySql", la pregunta es:

Estoy guardando en una variable "PHP" la "Fecha/hora DATETIME ejemplo 2011-05-23 19:22:00" para grabarla en un "INSERT", de una tabla en un campo "DATETIME".

Quisiera saber si existe una variable de "MySql" que me de la Fecha/Hora en ese mismo formato que la pueda usar dentro del "INSERT" con lo cual seria un paso menos de programación y la grabaría Exacta al momento del "INSERT".

Muchas Gracias
  #2 (permalink)  
Antiguo 15/07/2011, 08:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Insert una Fecha y Hora en MySql

Hay funciones, pero como se ejecutan en servidor, toman la hora del servidor y no del cliente.
La mejor solución es insertar programáticamente la fecha como lo haces pero sólo al momento de enviar el INSERT a la base y no cargarlo al inicio de la edición de datos por el cliente.
En cualquier caso la función que quieres saber es NOW(), que devuelve un DateTime, CURDATE() sólo la fecha y CURTIME() la hora actual..
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 15/07/2011, 14:43
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Respuesta: Insert una Fecha y Hora en MySql

gnzsoloyo, y no hay forma de hacer algo así dentro del store_procedure:

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_calificaciones_insert`(in xusu int,in xcom int,in xpun smallint,in xfec datetime)
BEGIN
insert into calificaciones (idusuario,idcompra,puntos,fecha) value (xusu,xcom,xpun,now());
END

siempre y cuando la hora del servidor este bien.

Muchas Gracias por tu ayuda
  #4 (permalink)  
Antiguo 15/07/2011, 19:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Insert una Fecha y Hora en MySql

Cita:
siempre y cuando la hora del servidor este bien.
Creo que no me estás entendiendo el tema de la hora del servidor.

El servidor donde está la base puede estar perfectamente bien , ajustado y funcionando sin problemas, pero si el usuario está en Australia, y el servidor donde está la base está en Puerto Rico, la hora que quedará grabada es la de Puerto Rico...
¿Se entiende ahora?
Eso es porque el formulario que el usuario está llenando se encuentra en ese momento en su PC, en su navegador (IExplorer, Firefox, Opera, etc) con la hora local (Australia), mientras que los procesos de PHP y la base de datos están corriendo en un Server cuyo hardware está en algún lugar de Puerto Rico, con su hora local. Ponerlo en un stored procedure no resolverá el problema porque los SP se ejecutan directamente en servidor, por lo que sería lo mismo que ponerlo en el proceso del script PHP.

Por ello es conveniente que ese dato sea tomado directamente por la interfaz en forma local.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: fecha, insert, php, sql, tabla
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 03:23.