date und time incrementieren

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.
endu
User
Beiträge: 9
Registriert: Dienstag 31. März 2009, 13:43

date und time incrementieren

Beitragvon endu » Freitag 17. April 2009, 16:28

Hallo,

ich suche einen möglichst effizienten weg, ein datum, bzw. eine uhrzeit (datetime.time und datetime.date) manuell zu erhöhen.

ideal wäre etwas im sinne von date.day=date.day+1 ... leider ist dieses attribut aber read_only...
genauso siehts bei time aus.

evtl. seh ich in der datetime dokumentation momentan auch nur den wald vor lauter bäumen nicht...

kennt jemand einen effizienteren weg, als das ganze jedesmal in sekunden bzw. sekunden seit 1970 hin und her zu konvertieren? im idealfall mit erkennung ob der entsprechend folgetag im selben oder einem anderen monat liegt
kryz
User
Beiträge: 12
Registriert: Sonntag 3. Februar 2008, 16:55

Beitragvon kryz » Freitag 17. April 2009, 16:48

hallo endu

datetime.timedelta wird wahrscheinlich dein problem lösen

Code: Alles auswählen

day_1 = datetime.date(2009, 10, 10)
delta = datetime.timedelta(1)
day_2 = day_1 + delta
print day_2  # -> 2009-10-11
lunar

Beitragvon lunar » Freitag 17. April 2009, 16:56

Code: Alles auswählen

>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2009, 4, 17, 17, 51, 46, 346864)
>>> now + timedelta(days=1)
datetime.datetime(2009, 4, 18, 17, 51, 46, 346864)


Zudem gibt es relativedelta in python-dateutil, mit dem man auch komplexere Aufgaben lösen kann (wie z.B. den nächsten Montag zu einem gegebenen Datum zu finden).

Außerdem gibt es mit mxDateTime eine Alternative zur Standardbibliothek.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder