Letzten Dienstag ermitteln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Phobeus
User
Beiträge: 2
Registriert: Donnerstag 22. April 2004, 20:26
Kontaktdaten:

Hi,

bin gerade dabei einige ältere Bash-Skripte nach Python zu übersetzen. Eines erfüllt dfie Aufgabe von einem Provider automatisch Log-Files herunterzuladen und zwar werden diese mit einem Datum versehen und zwar handelt es sich dabei immer um den "letzten Dienstag". Ich bin nun eben die Datumsfunktionen von Python durchgegangen und habe keine Funktion gefunden, die für eine solche Problemstellung geeignet ist. Das schockiert / verwundert mich ein wenig. ;) Also ganz plump gefragt, nehme ich an ein kleines Detail übersehen zu haben.

Wie ermittele ich also den Unix-Time-Stamp des "letzten Dienstages"?
thx ;)
Florian
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi Phobeus,

Code: Alles auswählen

import time

secs_per_day = (24 * 60 * 60)
t_now = time.time()
#t_now -= t_now % secs_per_day # Timestamp auf 00:00:00 GMT stehen soll !
t_tuple = time.gmtime(t_now)
days_after_tuseday = (t_tuple[6] - 1) % 7)
last_tuseday = t_now - days_after_tuseday * secs_per_day
geht natürlich auch kürzer :)

Code: Alles auswählen

import time

t_now = time.time()
#t_now -= t_now % 86400 # Timestamp auf 00:00:00 GMT!
last_tuseday = t_now - (time.gmtime(t_now)[6] - 1) % 7) * 86400
Gruß

Dookie
Phobeus
User
Beiträge: 2
Registriert: Donnerstag 22. April 2004, 20:26
Kontaktdaten:

:D Bin ehrlich gesagt weiterhin ein wenig schockiert, dass es entsprechende Funktion nicht dafür gibt ;) Was solls auf diesem Weg funktioniert das ja prima. Fast hätte ich noch gefragt, ob es den nirgens ein strftime für unix-stamps gibt, aber gmtime hilft einen ja Gott sei Dank weiter ;)
Hab dank für die schnelle Antwort! ;)
Florian
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi Phobeus,

strftime gibts auch im time Modul und viele andere nützliche Funktionen und sogar eine Klasse mit der man Zeitberechnungen machen kann.


Gruß

Dookie
Antworten