Datum berechnen

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.
Lonestar
User
Beiträge: 147
Registriert: Samstag 9. August 2008, 08:31

Datum berechnen

Beitragvon Lonestar » Dienstag 9. September 2008, 10:20

Moin,
irgendwie stehe ich hier aufm Schlauch. Ich versuche nu schon ne ganze Weile ganz einfach zu bestimmen Welches Datum Heute + n-Tage ergibt.

einfachstes Beispiel: n = 1 --> welches Datum ist morgen?

versuchen wollte ich das erst mal mit den Standardmodulen.
http://docs.python.org/dev/library/datetime
hilft mir aber irgendwie nicht wirklich weiter. Ich kann zwar ein Delta zwischen 2 Daten bestimmen und auch andere tolle Sachen machen aber irgnedwie nich das was ich möchte. Habe ich was überlesen, oder ist das schwerer zu machen als ich dachte?
Vielleicht gibts ja auch noch bessere Module für sowas, ich kenne mich da momentan nicht wirklich aus.
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Beitragvon Zap » Dienstag 9. September 2008, 10:37

datetime ist schon richtig:

Code: Alles auswählen

In [59]: dt = datetime.timedelta(days=4)

In [60]: datetime.date.today() + dt
Out[60]: datetime.date(2008, 9, 13)
Lonestar
User
Beiträge: 147
Registriert: Samstag 9. August 2008, 08:31

Beitragvon Lonestar » Dienstag 9. September 2008, 10:44

oh mann - so einfach :oops:

ich hatte das auch mal mit dem Delta versucht, dachte aber das ich dem Delta ein gültiges Datum geben müsste. Das machte dann keinen Sinn mehr für mich und für den Interpreter übrigens auch nicht mehr

Code: Alles auswählen

>>>  delta = datetime.date(0,0,1)
 
  File "<pyshell#54>", line 1
    delta = datetime.date(0,0,1)
   ^
IndentationError: unexpected indent


danke für die schnelle Hilfe
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 9. September 2008, 11:08

Lonestar hat geschrieben:ich hatte das auch mal mit dem Delta versucht, dachte aber das ich dem Delta ein gültiges Datum geben müsste. Das machte dann keinen Sinn mehr für mich und für den Interpreter übrigens auch nicht mehr

Ja, klar, wenn du es falsch einrückst, das soll man da sonst machen?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Lonestar
User
Beiträge: 147
Registriert: Samstag 9. August 2008, 08:31

Beitragvon Lonestar » Dienstag 9. September 2008, 11:37

Leonidas hat geschrieben:Ja, klar, wenn du es falsch einrückst, das soll man da sonst machen?


ui - die Falsche Fehlerausgabe kopiert... sorry - damit hier alles seine Richtigkeit hat noch schnell die Fehlermeldung die ich dachte kopiert zu haben - auch wenns eigentlich ja völlig unsinnig ist :roll:

Code: Alles auswählen

>>> delta = datetime.date(0,0,1)

Traceback (most recent call last):
  File "<pyshell#86>", line 1, in <module>
    delta = datetime.date(0,0,1)
ValueError: year is out of range


aber bevor ich hier nur Müll poste noch ne Frage da ich erst heute Morgen angefangen habe mich mal mit den Time- und Datetimemodulen auseinanderzusetzen. Wie Komme ich denn am schönsten an das morgige Datum? Meine Variante an das Datetimeobjekt das das Heutige Datum darstellt scheint mir ein wenig umständlich - immerhin bekomme ich die gewünschten Daten:

Code: Alles auswählen

>>> import time
>>> import datetime
>>> temp = time.localtime()
>>> heute = datetime.date(temp.tm_year, temp.tm_mon, temp.tm_mday)
>>> morgen = heute + datetime.timedelta(days = 1)
>>> morgen
datetime.date(2008, 9, 10)


http://docs.python.org/dev/library/date ... time.today

wäre sicher ne schöne Variante - aber wenn ichs richtig kapiert habe ist das erst ab Version 2.6b vorhanden.
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Beitragvon Zap » Dienstag 9. September 2008, 12:04

Lonestar hat geschrieben:http://docs.python.org/dev/library/date ... time.today

wäre sicher ne schöne Variante - aber wenn ichs richtig kapiert habe ist das erst ab Version 2.6b vorhanden.


Keine Ahnung wie lange es schon today gibt. Aber selbst bei meinem ältesten Python das ich aufm Rechner habe, funktioniert das.

Code: Alles auswählen

In [3]: import sys

In [4]: from datetime import date

In [5]: sys.version
Out[5]: '2.3.5 (#62, Feb  8 2005, 16:23:02) [MSC v.1200 32 bit (Intel)]'

In [6]: date.today()
Out[6]: datetime.date(2008, 9, 9)
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 9. September 2008, 12:48

Zap hat geschrieben:
Lonestar hat geschrieben:http://docs.python.org/dev/library/date ... time.today

wäre sicher ne schöne Variante - aber wenn ichs richtig kapiert habe ist das erst ab Version 2.6b vorhanden.


Keine Ahnung wie lange es schon today gibt. Aber selbst bei meinem ältesten Python das ich aufm Rechner habe, funktioniert das.

Das gibt es seit Python 2.3.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder