Tage zwischen Daten ...
Mal schnell "wegbloggen", weil ich es gerade gebraucht habe.
Das klappt meiner Meinung nach nur mit dem
Wenn jemand andere Lösungen kennt, die auch in eine Zeile passen und mit Standard-Tools auskommen, dann bitte her damit.
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
139
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
cato am :
python -c "from datetime import datetime as d; print (d(2012,11,22)-d.now()).days"
Dirk Deimeke am :
Saddy am :
perl -e "use DateTime; print ((DateTime->now - DateTime->new(year=>2012,month=>07,day=>02))->delta_days)"
Dirk Deimeke am :
Federico Hernandez am :
Also
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:
20120705
$ echo $(( ($(date +%s -u --date=20120706) - $(date -u +%s)) /86400 ))
0
$ echo $(( ($(date +%s -u --date=20120706) - $(date -u +%s)) /86400 +1))
1
Dirk Deimeke am :
The Compiler am :
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 :
Meines Wissens nach ist das auf jedem halbwegs aktuellen Linux installiert.
Danke für den Link!