Páginas

24 de agosto de 2015

Comando para convertir de UnixTime a Normal

Muchas son las veces que encuentro fechas en formato Unix, obviamente no entiendo un demonio de qué fecha y hora me están mostrando, es ahí donde se hace necesario convertir eso que está en UnixTime hacia “normal”.
Pero, primero la pregunta:

¿Qué es Unix Time?

Podemos leer a Wikipedia y veremos que el número que tengamos delante es la cantidad de segundos que han pasado desde el 1ro de enero de 1970 hasta ese momento, algo así “1437905791” en realidad significa: 2015-07-26 10:16:31

¿Dónde encuentro fechas en este formato?

Muchas aplicaciones acostumbran a guardar las fechas o momentos en este formato en la base de datos que usen, foros, servidores de aplicaciones, etc.

¿Cómo convertir desde la terminal esto a algo que pueda entender?

Simple, supongamos que tenemos la siguiente fecha: 1416483005
Para convertirlo a algo que podamos entender nosotros, basta con anteponerle: date -d @
O sea:
date -d @1416483005
Y eso nos dirá que representa el día 20 de noviembre de 2014, con hora 06:30:05
convert-unix-time


¿Existe alguna web para esto?

Sí claro, busquen en Google “date to unix” y listo, verán un montón de resultados.

¿Puedo sacar la fecha de MySQL directo convertida?

Si claro, suponiendo que sea una base de datos llamada stats, una tabla llamada times, y tenga un campo llamado date que esté en formato Unix, la consulta para sacar todos los datos de ese campo convertidos ya sería:
select FROM_UNIXTIME(date) from stats.times;
O sea, tenemos una función llamada FROM_UNIXTIME() que nos sirve para esta conversión, si dentro del paréntesis ponemos el campo cuya información es de ese tipo, nos la convierte.

Fin!

Bueno no hay mucho más que agregar, enjoy!


from Desde Linux http://blog.desdelinux.net/comando-convertir-unixtime-a-normal/
via IFTTT