Unixtimestamp
Contenido
Introducción
Unixtimestamp es la forma como muchos programas en entornos linux guardan la fecha y hora. Representa la cantidad de segundos desde el 01/01/1970 00:00:00 GMT.
Parámetros relacionados con unixtimestamp del comando date
Para ver la fecha y hora en unixtimestamp basta el formato %s. Ejemplo:
$ date +%s 1227386449
Para ver una fecha y hora en particular se debe usar el parámetro -d. ejemplo:
$ date +%s -d"Jan 1, 1970 00:00:00 GMT" 0
En distribuciones RedHat (al parecer a partir de la 4) se puede usar como fecha de entrada @unixtimestamp.
$ date +%s -d@1 1
Si se quiere como salida usar el formato por defecto se obtendría:
$ date -d@1 mié dic 31 19:00:01 PET 1969
Para ponerlo en UTC ó GMT se usa -u:
$ date -u -d@1 jue ene 1 00:00:01 UTC 1970
En algunos entornos no se permite el @unixtimestamp, ahí se podría usar para convertir el número la siguiente artimaña:
$ date -u -d"Jan 1, 1970 132894239 sec GMT" mar mar 19 03:03:59 UTC 1974
Equivalente a:
$ date -u -d@132894239 mar mar 19 03:03:59 UTC 1974
Conclusiones
De unixtimestamp a fecha normal
$ date -d@xxxxx
De fecha normal a unixtimestamp
$ date +%s -d"fecha"
Nota
Cuando se ingresa la fecha, siempre hay que recordar poner el huso horario, de esta forma no habrá confusión entre si es UTC o local.
Ver también
- http://www.wains.be/index.php/2007/10/23/bash-converting-unix-timestamp-to-date/
- http://yvoictra.wordpress.com/2007/12/19/conversion-de-fechas-en-unix-timestamps-fecha-normal/
- http://www.linuxhowtos.org/Tips%20and%20Tricks/converting_unixtimestamp.htm
- http://www.unixtimestamp.com/index.php
- http://www.onlineconversion.com/unix_time.htm