[solved] Alternative zu mx.DateTime.RelativeDateTime()?

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
Benutzeravatar
bake
User
Beiträge: 29
Registriert: Dienstag 20. November 2007, 08:12
Wohnort: Hamburg

Hi,
die RelativeDateTime Funktion ist ja noch nicht wirklich ausgereift. Gibt es funktionierende Alternativen? Habe das Problem, dass ich zu verschiedenen Daten eine gewisse Anzahl an Monaten rechnen möchte, RDT aber schlicht und einfach falsche Ergebnisse liefert...

Beispiel:

Code: Alles auswählen

>>> print mx.DateTime.now()
2008-11-26 09:48:01.49
>>> print mx.DateTime.now() + mx.DateTime.RelativeDateTime(month=+1)
2008-01-26 09:48:09.33
>>> print mx.DateTime.now() + mx.DateTime.RelativeDateTime(month=+11)
2008-11-26 09:48:17.12
Zuletzt geändert von bake am Mittwoch 26. November 2008, 13:29, insgesamt 1-mal geändert.
[i]who we are is but a stepping stone to
what we can become...[/i]
Benutzeravatar
helduel
User
Beiträge: 300
Registriert: Montag 23. Juli 2007, 14:05
Wohnort: Laupheim

Moin,

da scheint die Doku falsch zu sein:
| Adding RelativeDateTime instances to DateTime instances will
| return DateTime instances with the appropriate calculations
| applied, e.g. to get a DateTime instance for the first of next
| month, you'd call now() + RelativeDateTime(months=+1,day=1).
Hier wird suggeriert, dass man mit "+x" x Monate hinzuaddiert, während mit nur "x" direkt den Monat (bzw. Tag) setzt. Das stimmt aber nicht. Python erkennt keinen Unterschied zwischen +1 und 1:

Code: Alles auswählen

>>> +1 is 1
True
Was du tun kannst ist folgendes:

Code: Alles auswählen

>>> print DateTime.now() + DateTime.RelativeDateTime(month=DateTime.now().month + 1, day=1)
2008-12-01 10:19:29.08
Gruß,
Manuel
Benutzeravatar
bake
User
Beiträge: 29
Registriert: Dienstag 20. November 2007, 08:12
Wohnort: Hamburg

Vielen Dank für die schnelle Hilfe. Funktioniert mit deinem Beispiel wunderbar! :)
[i]who we are is but a stepping stone to
what we can become...[/i]
Antworten