Anzahl der Tage zwischen zwei Datumsangaben

04/08/2008 - 10:08 von Thomas Guettler | Report spam
Hallo,

wie kann man mit der Shell die Anzahl zwischen zwei Tage berechnen?

Beispiel: 1970 bis heute.

Bash:

echo $(($(date +"%s") / 86400))


14095

Da mit Sekunden seit 1970 gerechnet wird, wechselt die Zahl nicht immer exakt um 24:00.


Python:
python -c "import datetime; print (datetime.date.today()-datetime.date(1970, 1, 1)).days":
14095

Hier sollte der Wechsel um 24:00 Uhr erfolgen, aber eine Lösung mit den üblichen Shell Mitteln
wàre mir lieber.

Hat jemand eine Idee?

Thomas


Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de
 

Lesen sie die antworten

#1 Achim Peters
04/08/2008 - 10:40 | Warnen spam
Thomas Guettler wrote:
wie kann man mit der Shell die Anzahl zwischen zwei Tage berechnen?



Hàngt von der Shell ab, würde ich behaupten.

Beispiel: 1970 bis heute.



Na, da hast Du von allen zig-millionen Beispielen aber "zufàllig" das
eine erwischt, bei dem es einfacher laufen kann als bei allen anderen

Bash:
> echo $(($(date +"%s") / 86400))
14095

Da mit Sekunden seit 1970 gerechnet wird, wechselt die Zahl nicht immer
exakt um 24:00.



Was heisst "nicht immer"? Für manche Tage schon?

Du hast hier natürlich grundsàtzlich das Problem, dass auf vielen
unixoiden Betriebssystemen die Systemzeit in UTC làuft und auch die
Angabe "Sekunden seit 1.1.1970" genauer "Sekunden seit 1.1.1970 0:00
UTC" lautet, wàhrend entsprechende lokale Zeitausgaben hierzulande in
ME(S)Z stattfinden.

Bye
Achim

Ähnliche fragen