Quiero convertir un timestamp
en MySQL a una fecha.
Me gustaría formatear el campo user.registration en el archivo de texto como a yyyy-mm-dd
.
Aquí está mi SQL:
$sql = requestSQL("SELECT user.email,
info.name,
FROM_UNIXTIME(user.registration),
info.news
FROM user, info
WHERE user.id = info.id ", "export members");
También probé la conversión de fecha con:
DATE_FORMAT(user.registration, '%d/%m/%Y')
DATE(user.registration)
Repito el resultado antes de escribir el archivo de texto y obtengo:
email1; nombre1; DATE_FORMAT (registro de usuario, '% d /% m /% Y'); noticias1
correo electrónico2; nombre2; noticias2
¿Cómo puedo convertir ese campo hasta la fecha?
mysql
sql
date-formatting
remyremy
fuente
fuente
Respuestas:
fuente
users
.user_created_at
), '% Y-% b-% e') = '2015-03-06' es este formato correcto o debería modificarlo?'%Y-%m-%d'
como formatearlo en PHP(date('Y-m-d',$row->user_created_at))
: esto (ambas variantes, SQL y PHP) aparece como 2018-11-06Convierta la marca de tiempo a la fecha en MYSQL
Haga la tabla con una marca de tiempo entera:
Insertar algunos valores
Echar un vistazo
Convierta el número en una marca de tiempo:
Conviértalo a un formato legible:
fuente
Para obtener una cita, puedes
cast
hacerloy para obtener un formato específico use
date_format
Demostración de SQLFiddle
fuente
Si el
registration
campo es de tipoTIMESTAMP
, debería poder hacer:y el registro debe aparecer como aaaa-mm-dd
fuente
Simplemente use la función DATE de mysql:
fuente
SELECT DATE(UNIX_TIMESTAMP())
escupeNULL
en mi MySQL 5.7.14Deberías convertir
timestamp
adate
.FROM_UNIXTIME
fuente
Si recibe la consulta en su salida, debe mostrarnos el código que realmente refleja el resultado. ¿Puedes publicar el código que llama a requeteSQL?
Por ejemplo, si ha usado comillas simples en php, imprimirá el nombre de la variable, no el valor
Esto suena exactamente como su problema y estoy seguro de que esta es la causa.
Además, intente eliminar el símbolo @ para ver si eso ayuda al brindarle más información.
así que eso
se convierte
Esto detendrá cualquier supresión de errores si la consulta arroja un error.
fuente
Lo hice con la función 'fecha' como se describe aquí :
fuente
FROM_UNIXTIME(unix_timestamp, [format])
es todo lo que necesitasFROM_UNIXTIME
obtiene un valor numérico y lo transforma en unDATE
objeto,o si se le da una cadena de formato, lo devuelve como una cadena.
La solución anterior era obtener el objeto de fecha inicial y formatearlo con una segunda función
DATE_FORMAT
... pero esto ya no es necesariofuente
Tratar:
Formateará la marca de tiempo en milisegundos a cadena aaaa-mm-dd.
fuente