Foros del Web » Programando para Internet » PHP »

Fecha y hora en php y mysql

Estas en el tema de Fecha y hora en php y mysql en el foro de PHP en Foros del Web. Estimados, queria hacerles una consultilla que a muchos puede parecerles facil pero a mi me esta quebrando la cabeza, tengo un formulario que envia ciertos ...
  #1 (permalink)  
Antiguo 06/10/2014, 18:29
 
Fecha de Ingreso: noviembre-2010
Mensajes: 131
Antigüedad: 13 años, 5 meses
Puntos: 1
Fecha y hora en php y mysql

Estimados, queria hacerles una consultilla que a muchos puede parecerles facil pero a mi me esta quebrando la cabeza, tengo un formulario que envia ciertos datos auna base de datos, hasta ahi bien, ahora me pidieron que al hacer un insert, automaticamente el mysql me inserte la fecha y hora de ese insert.

Destaco que desde el formulario no se elige hora ni fecha, esto debe agregarlo automaticamente mysql, fecha y hora del servidor.

Mi duda es si puedo hacerlo separados (fecha en un campo hora en otro) ya que usando TIMESTAMP consigo que se agrege la fecha y hora (en un mismo campo, o separados) asi: 2014-10-06 21:27:56

Saludos cordiale sy gracias a todos por sus consejos y ayuda
  #2 (permalink)  
Antiguo 06/10/2014, 18:55
Avatar de jose_php  
Fecha de Ingreso: mayo-2014
Mensajes: 44
Antigüedad: 9 años, 11 meses
Puntos: 2
Respuesta: Fecha y hora en php y mysql

puedes ponerlo en formato solamente poniendo en tu insert un campo time(), o poniendo la fecha en si date("Y-m-d H:i:s").

time() -> http://php.net/manual/es/function.time.php
date() -> http://php.net/manual/es/function.date.php

Crea primero un campo mas en tu base de datos y ahi es donde pondras la fecha, un tip para que salga la fecha de tu ubicacion: date_default_timezone_set()

http://php.net/manual/es/timezones.php

Salud2
  #3 (permalink)  
Antiguo 06/10/2014, 19:03
 
Fecha de Ingreso: noviembre-2010
Mensajes: 131
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Fecha y hora en php y mysql

gracias, lo pondre en practica...saludos cordiales
  #4 (permalink)  
Antiguo 06/10/2014, 19:06
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Fecha y hora en php y mysql

También puedes hacerlo con MySQL. Un ejemplo:

Código MySQL:
Ver original
  1. INSERT INTO tabla (nombre, fecha, hora)
  2. VALUES ('Juan', DATE_FORMAT(NOW(), '%Y-%m-%d'), DATE_FORMAT(NOW(), '%T')

Con DATE_FORMAT(NOW(), '%Y-%m-%d'), obtienes la fecha actual en el formato 'Año-Mes-Día', mientras que con DATE_FORMAT(NOW(), '%T'), obtienes la hora actual.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 06/10/2014, 21:01
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: Fecha y hora en php y mysql

Cita:
Iniciado por Alexis88 Ver Mensaje
También puedes hacerlo con MySQL. Un ejemplo:

Código MySQL:
Ver original
  1. INSERT INTO tabla (nombre, fecha, hora)
  2. VALUES ('Juan', DATE_FORMAT(NOW(), '%Y-%m-%d'), DATE_FORMAT(NOW(), '%T')

Con DATE_FORMAT(NOW(), '%Y-%m-%d'), obtienes la fecha actual en el formato 'Año-Mes-Día', mientras que con DATE_FORMAT(NOW(), '%T'), obtienes la hora actual.

Saludos
Para obtener el formato AAAA-MM-DD no tienes que usar DATE_FORMAT(), esa funcion se usa para transformar una fecha en una cadena de texto con un formato determinado.
Por lo pronto, usando NOW() para insertar en un campo que es DATE, en forma implícita recorta el DATETIME devuelto a DATE, por lo que cualquier conversión en innecesaria.
Por otro lado, ya existe una funcion que devuelve la fecha actual solamente, y es CURDATE(). Además si quieres "cortar" un DATETIME a DATE, usas DATE(), y para la hora TIME():
Código SQL:
Ver original
  1. INSERT INTO tabla (nombre, fecha, hora)
  2. VALUES ('Juan', DATE(NOW(), TIME(NOW()))
Esto último también es innecesario, porque ya existe la que devuelve la hora actual, que es CURTIME().

En definitiva, el modo más eficiente, en MySQL es
Código MySQL:
Ver original
  1. INSERT INTO tabla (nombre, fecha, hora)
  2. VALUES ('Juan', CURDATE(), CURTIME())
__________________
¿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, formulario, mysql
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 00:26.