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
Letzten Dienstag ermitteln
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi Phobeus,
geht natürlich auch kürzer
Gruß
Dookie
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
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
Dookie
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
Hab dank für die schnelle Antwort!
Florian