Timestamp en Linux Bash

Utilizando el comando "date" podemos obtener el timestamp Unix de la siguiente manera:

date +%s

Con este dato y el comando "bc" (la calculadora de la consola), podemos obtener timestamp concretos:

FINAL=`date +%s`             #:----> AHORA
INICIO=`echo $END-3600|bc`   #:----> HACE 1 HORA

echo $INICIO
echo $FINAL

FINAL=`date +%s`             #:----> AHORA
INICIO=`echo $END-86400|bc`  #:----> AYER A ESTA MISMA HORA - HACE 1 DIA

echo $INICIO
echo $FINAL

3 Respuestas

  1. Gracias, me ha servido para el concepto.
    Pero el ejemplo no funciona. No has tocado el nombre de las variables $END $FINAL.
    Si tocas la doc, puedes borrar este comentario mío sin problema.
    Pero era lo que buscaba. Merci.

  2. staff

    Hola,

    Puedes consultar la ayuda del comando date en la consola ejecutando “man date”, en ella encontrarás todos los parámetros que controlan la representación de una fecha.

    O también puedes consultar alguna página online con el manual del comando, como por ejemplo:

    http://unixhelp.ed.ac.uk/CGI/man-cgi?date

    Un saludo.

  3. CbRay

    Muy interesante gracias por tu aporte, pero ahora viene el regreso, una ves que obtienes el valor como conviertes ese timestamp a una fecha legible, es decir:

    date +%s = 1355995063 = 20121220 = Thu Dec 20 09:17:43 UTC 2012

    date +%s-86400|bc = 1355908663 = ??? = ????

    aqui la fecha debe ser 20121219 ó Thu Dec 19 09:17:43 UTC 2012 como puedo obtener ese valor?

Agregar comentario