Unixtimestamp

De FJWiki
Revisión del 04:35 29 ene 2009 de FJRA (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

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