Skip to content

Tage zwischen Daten ...

linux Mal schnell "wegbloggen", weil ich es gerade gebraucht habe.

Das klappt meiner Meinung nach nur mit dem date aus den GNU Coreutilities.

Wenn jemand andere Lösungen kennt, die auch in eine Zeile passen und mit Standard-Tools auskommen, dann bitte her damit.

echo $(( ($(date +%s --date=20121122) - $(date +%s))/24/60/60 ))
139

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

cato am :

*Wie immer kann Python das auch :-)

python -c "from datetime import datetime as d; print (d(2012,11,22)-d.now()).days"

Saddy am :

*Und das Ganze noch in Perl:

perl -e "use DateTime; print ((DateTime->now - DateTime->new(year=>2012,month=>07,day=>02))->delta_days)"

Federico Hernandez am :

*In deinem Beispiel mit dem "zweiten" Datum im gleichen Jahr funktioniert auch %j. Aus der man page:

CODE:
%j     day of year (001..366)


Also

CODE:
$ echo $(( $(date +%j --date=20121122) - $(date +%j) ))
140


Falls du weiterhin die Division benutzt würde ich -u als Option für date benutzen - um alles in UTC zu machen. Ansonsten kann dir die Zeitumstellung ein Strich durch die Rechnung machen und dein Ergebnis verhunzen - nicht jetzt in deinem Beispiel, aber mit entsprechenden Datumvorgaben.

Ach ja, du solltest in deiner Methode noch eine +1 einfügen, ansonsten hast du ein Tag zuwenig:

CODE:
$ date +%Y%m%d
20120705
$ echo $(( ($(date +%s -u --date=20120706) - $(date -u +%s)) /86400 ))
0
$ echo $(( ($(date +%s -u --date=20120706) - $(date -u +%s)) /86400 +1))
1

The Compiler am :

*http://mywiki.wooledge.org/BashFAQ/102 macht das ganz ähnlich, also wirds wohl keine bessere Lösung geben, da die FAQ (meiner Meinung nach) sehr gut geschrieben ist.

Ich hätt auch Python verwendet, aber das zählt wohl kaum als Standardtool :-)

(hm, mal gucken ob der Spamfilter wieder anschlägt.)

Dirk Deimeke am :

*Python ist ein Standard-Tool. :-)

Meines Wissens nach ist das auf jedem halbwegs aktuellen Linux installiert.

Danke für den Link!

Kommentar schreiben

Gravatar, Favatar, Pavatar, Identica, Twitter, MyBlogLog Autoren-Bilder werden unterstützt.
BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
:'(  :-)  :-|  :-O  :-(  8-)  :-D  :-P  ;-) 
Formular-Optionen