Convert date to timestamp in Linux and SunOS

Mi e’ capitato di dover convertire delle date in timestamp usando la bash.
In ambienti GNU Linux grazie al comando date (GNU date) e’ possibile farlo con una riga, molto facilmente:

date –utc –date “2007-07-26 11:57:54” +%s

vi riportera’ l’output:

1185451074

La data in questo caso deve essere nel formato americano: yyyy-mm-dd hh:MM:ss

I problemi si presentano quando non si ha a disposizione il comando GNU date ma il semplice date vecchio formato Unix.

Non ho ancora trovato il modo di farlo senza dover usare anche il perl, cosa che reputo abbastanza assurda.
Questo e’ l’unico modo che ho al momento per convertire una data in timestamp sotto SunOS senza lo GNU date:

Bisogna scaricare questo script in Perl: datetotimestamp.pl

ed eseguire per esempio il comando:

date | perl datetotimestamp.pl

Il problema di fondo con questo metodo e’ che la data da dargli in pasto deve essere del tipo: Fri Jul 27 13:01:56 CEST 2007
Oppure si modifica lo script perl e lo si adatta, ma non si possono perdere ore per una stupidata del genere.
Quando ho chiamato dei sistemisti Sun Solaris chiedendo a loro se avessero un rimedio meno invasivo, la risposta e’ stata:

ti abbiamo installato lo GNU date su un altro path…

NO COMMENT! GNU’s Not Unix (e si vede!)

Post simili:

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

6 Responses to “Convert date to timestamp in Linux and SunOS”
  1. Real Music From a true artist
    12:41 on August 14th, 2011

    magnificent put up, very informative. I wonder why the opposite specialists of this sector don’t notice this. You should proceed your writing. I’m sure, you have a great readers’ base already!

  2. oceangoogle
    21:22 on October 18th, 2008

    me me man day frog mail student man

  3. kitchensitec
    15:01 on September 15th, 2008

    watch are steven ugly ibm we land all google see

  4. Stef
    00:34 on October 25th, 2007

    Ciao, vagando ti ho trovato.
    ti lascio la soluzione per convertire da timestamp a data
    # date -d @1000000042
    Sun Sep 9 01:47:22 GMT 2001
    funziona con le versioni recenti di date
    ̬ una funzione non documentata nel man della versione 5.97 Рubuntu 7.04

    l’ho trovata a questo indirizzo
    http://anton.lr2.com/archives/2006/04/06/convert-a-unix-epoch-timestamp-to-a-date-in-bash/

    Difficile che Linux ti deluda :D

    Ciao, Stef
    Know is power, share the power ;)

  5. xplosive
    19:01 on October 20th, 2007

    scusate, ma probabilmente i doppi meno vengono interpretati dal blog e diventano dei meno singoli… volevo solo far notare che se il comando non funziona è per questo motivo…

  6. xplosive
    18:59 on October 20th, 2007

    Il comando va formattato in modo seguente:
    date –utc –date “2007-10-20” +%s
    notare il doppio meno di –utc e –date e non -utc e -date come sopra!

Leave a comment

(required)

(required)


*

Categories