probleme beim anpassen eines datums

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
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Halli Hallo,
ich bastel gerade an einem Script, was mir alle Einträge
aus einer Datenbank löscht, deren Einträge älter als 5 Tage
sind. Soweit so gut, mein Lösungsansatz war folgender:

1. aktuelles Datum in Sekunden holen und die Sekunden für 5 Tage
abziehen

2. datum passend verarbeiten damit ich es mit dem wert in der db
vergleichen kann

Code: Alles auswählen

date_in_sec = time.time() - 432000
cur_date = time.gmtime(date_in_sec)

->

(2006, 7, 2, 10, 16, 26, 6, 183, 0)
Mein Problem ist nun, das ich für den Tag und den Monat einen zweistelligen Wert brauche, also anstatt 7 -> 07. Gibts da einen einfachen Weg um den String so zu manipulieren?

Gruss prosta
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Meinst du sowas:

Code: Alles auswählen

>>> print "%02i" % 1
01
>>> print "%02i" % 10
10
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

ARG, manchmal ist die Lösung nah und doch so fern...
Genau das habe ich gesucht, danke :)
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Für Datumsberechnungen ist vielleicht das datetime Modul nicht schlecht:

Code: Alles auswählen

import datetime

now = datetime.datetime.today()
delta = datetime.timedelta(days=5)
print now - delta
EDIT: fehlende Klammern eingefügt. Danke Rebecca!

Gruß, mawe
Zuletzt geändert von mawe am Freitag 7. Juli 2006, 12:53, insgesamt 1-mal geändert.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Ah ja. Haette mich irgendwie auch gewundert, wenn Python sowas nicht kann. 8) Am Ende von Zeile 3 fehlen zwei Klammern:

Code: Alles auswählen

now = datetime.datetime.today()
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

pr0stAta hat geschrieben:Halli Hallo,
ich bastel gerade an einem Script, was mir alle Einträge
aus einer Datenbank löscht, deren Einträge älter als 5 Tage
sind.
Du weisst, dass du das bei einer SQL-Datenbank in einem Befehl erledigen kannst?

In Python2.5 wird sqlite standardmäßig drin sein (für 2.4- gibt es natürlich auch Pakete), für deine eigenen Programme, die eine interne DB benötigen, würde ich deshalb in Zukunft immer auf SQLite setzen.
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Du weisst, dass du das bei einer SQL-Datenbank in einem Befehl erledigen kannst?

In Python2.5 wird sqlite standardmäßig drin sein (für 2.4- gibt es natürlich auch Pakete), für deine eigenen Programme, die eine interne DB benötigen, würde ich deshalb in Zukunft immer auf SQLite setzen.
Ne wusste ich nicht, bin nicht so der SQL Fachmann ;)
Und ja, ich nutze sqlite schon, nur war das ein fertiges Projekt
wo ich nur ein kleines Script zu beisteuern sollte
Antworten