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.
Phobeus
User
Beiträge: 2
Registriert: Donnerstag 22. April 2004, 20:26
Kontaktdaten:

Letzten Dienstag ermitteln

Beitragvon Phobeus » Donnerstag 22. April 2004, 20:36

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
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Donnerstag 22. April 2004, 22:31

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:

Beitragvon Phobeus » Donnerstag 22. April 2004, 23:22

: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
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Donnerstag 22. April 2004, 23:29

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

Wer ist online?

Mitglieder in diesem Forum: brainstir