Bash sag mir wie alt ich bin!

Habe heute ein bisschen mit der BASH gespielt und mir überlegt wie ich mein genaues Alter errechnen könnte. Nach einigen Versuchen hat es dann auch geklappt. Das Ergebnis sieht so aus:

#!/bin/bash
timestamp=$((($(date +%s)-$(date +%s -d “1990-03-09 05:20:00+0100″))))
echo “Ich bin” $((`date -d @$timestamp “+%Y”`-1970)) “Jahre” $((`date -d @$timestamp “+%m”`-1)) “Monat(e)” $((`date -d @$timestamp “+%d”`-1)) “Tag(e)” `date -d @$timestamp “+%k”` “Stunde(n)” `date -d @$timestamp “+%M”` “Minute(n) und” `date -d @$timestamp “+%S”` “Sekunde(n) alt.”

Natürlich muss man zur Weiterverwendung das Datum(Jahr-Monat-Tag) die Uhrzeit(Stunden:Minuten:Sekunden) und – wenn man ausserhalb der Mitteleuropäischen Zeitzone geboren wurde – auch die Differenz zur UTC ändern.

Man kann natürlich auch andere Zeitabstände damit errechnen z.B. wie lange dauerte meine Beziehung bisher; oder wie lange benutze ich schon Ubuntu(wenn man es noch weis) ;)

Abschliessend bleibt noch zu sagen, dass diese Berechnung eine recht genaue Uhrzeiteinstellung im System erfordert(es sei denn man berechnet den Abstand zweier fixer Zeitabstände durch eine kleine Änderung).

Tags: , , ,

5 Antworten zu “Bash sag mir wie alt ich bin!”

  1. Adrian sagt:

    Langeweile?

  2. Maxe sagt:

    Also das Teil funktioniert leider nicht für den 29.12.1987 und es ist schon beinahe Schwerstarbeit, wenn man deinen Code lauffähig machen will nachdem man ihn per copy&paste übernommen hat.

    Überarbeite ihn doch bitte nocheinmal und stelle ihn auch über einen Paste-Service ( http://paste.pocoo.org/ ) bereit.

    Danke schonmal. Ich guck später nochmal vorbei.

  3. Funatiker sagt:

    Du bist offensichtlich einen Monat jünger als ich.

  4. Geier sagt:

    Ist ja wunderschön, wie die Blogsoftware Anführungszeichen durch typographische (englische) Anführungszeichen ersetzt — nur leider mag bash das nicht so sehr. In dem Programmcode müssen die Anführungszeichen wieder in gerade Anführungszeichen ersetzt werden. Dann klappt das auch wunderbar:

    Ich bin 19 Jahre 5 Monat(e) 12 Tag(e) 13 Stunde(n) 28 Minute(n) und 36 Sekunde(n) alt.

  5. Maxe sagt:

    Na gut, dann übernehme ich die Ausbesserung:

    http://paste.pocoo.org/show/111602/

    Das ist auch ein bisl übersichtlicher…

Hinterlasse eine Antwort