Datum mit der Shell

Bash, Shell, PHP, Python, Perl, CGI
alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover

Datum mit der Shell

Post by alexander newald »

Hallo,

hat jemand eine Idee, wie ich folgendes hinbekomme:

Code: Select all

versatz=10
zeit=`date +%s`
und dann die Ausgabe der Zeit zeit + versatz als Datum/Uhrzeit und zwar nicht als Timestamp sondern als echtes Datum!

Alexander Newald
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Datum mit der Shell

Post by captaincrunch »

Idee : ja ... ;)

Rechne beim date mit den Sekunden ab 1.1.1970, rechne daraufhin deinen Versatz auch in Sek. um, und formatiere das ganze nachher mit date.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover

Re: Datum mit der Shell

Post by alexander newald »

Aber wie kann ich mit date den Timestamp wieder in ein Datum zurückwanden? date --date=1055246678 geht nicht!

Alexander Newald
thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal

Re: Datum mit der Shell

Post by thorsten »

und mal wieder rächt sich der mächtige, aber bescheiden dokumentierte man date Befehl.
info date ist da wesentlich auskunftsfreudiger

Du kannst das folgendermaßen machen:

VERSATZ=12
date +s -d "$VERSATZ days"

Ã?berprüfe es mit
date -I -d "$VERSATZ days"

Desweiteren kennt date:

date -d tomorrow
date -d yesterday
date -d "10 days ago"
date -d "1 month"
date -d "1 year"
date -d "1 month ago"
date -d "1 year ago"

Es gibt evlt. noch mehr richtig sinnvolle Angaben zu -d aber ich kenne keine weiteren.
Ausprobiert mit date (GNU sh-utils) 2.0.11 von woody.

Umwandeln kannst du das über z.B.:
date -d "1970-01-01 1055249200 sec"

Ich hoffe das war ein Denkanstoß in die richtige Richtung.
alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover

Re: Datum mit der Shell

Post by alexander newald »

Jo, date -d "$versatz sec" ist es.

danke!