Seite 1 von 1

probleme beim anpassen eines datums

Verfasst: Freitag 7. Juli 2006, 11:21
von pr0stAta
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

Verfasst: Freitag 7. Juli 2006, 11:41
von Rebecca
Meinst du sowas:

Code: Alles auswählen

>>> print "%02i" % 1
01
>>> print "%02i" % 10
10

Verfasst: Freitag 7. Juli 2006, 11:44
von pr0stAta
ARG, manchmal ist die Lösung nah und doch so fern...
Genau das habe ich gesucht, danke :)

Verfasst: Freitag 7. Juli 2006, 12:40
von mawe
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

Verfasst: Freitag 7. Juli 2006, 12:48
von Rebecca
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()

Re: probleme beim anpassen eines datums

Verfasst: Samstag 8. Juli 2006, 11:57
von Joghurt
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.

Verfasst: Samstag 8. Juli 2006, 16:50
von pr0stAta
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