Cita:
Iniciado por Alexis88
También puedes hacerlo con MySQL. Un ejemplo:
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 originalINSERT INTO tabla (nombre, fecha, hora)
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