Datum eingeben, danach wird automatisch 'n' Tage addieren

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
baumanns
User
Beiträge: 3
Registriert: Sonntag 10. Februar 2008, 10:38

Sonntag 10. Februar 2008, 10:52

Hallo

Ich bin ganz ganz neu bei Python - gestern mit einem Buch angefangen. Habe auch keinerlei andere Erfahrung mit Programmieren. Und nein, dies ist keine Schul-/Uniaufgabe *g*

Ich möchte, dass man ein Datum (dd.mm.yyyy) eingibt und als Ausgabe wird zum eingegebenen Datum 'n' (beispielsweise 50) Tage korrekt dazu addiert. Die Ausgabe soll auch wieder dd.mm.yyyy sein.

Dass ich dazu wohl raw_input(), mktime() und strftime() oder ähnlich benötige, nehme ich mal an. Aber wie genau der Code ausschauen soll...

Kann mir da bitte jemand weiter helfen?

Besten Dank
baumanns
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Sonntag 10. Februar 2008, 12:08

baumanns hat geschrieben:Ich möchte, dass man ein Datum (dd.mm.yyyy) eingibt und als Ausgabe wird zum eingegebenen Datum 'n' (beispielsweise 50) Tage korrekt dazu addiert. Die Ausgabe soll auch wieder dd.mm.yyyy sein.
Hallo baumanns!

Willkommen im Python-Forum!

Code: Alles auswählen

>>> import datetime
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2008, 2, 10, 12, 5, 0, 406000)
>>> in_50_days = now + datetime.timedelta(days = 50)
>>> in_50_days
datetime.datetime(2008, 3, 31, 12, 5, 0, 406000)
>>> in_50_days.strftime("%d.%m.%Y")
'31.03.2008'
>>> now.strftime("%d.%m.%Y")
'10.02.2008'
>>> 

Code: Alles auswählen

>>> today = datetime.date.today()
>>> today
datetime.date(2008, 2, 10)
>>> in_50_days = today + datetime.timedelta(days = 50)
>>> in_50_days
datetime.date(2008, 3, 31)
>>> in_50_days.strftime("%d.%m.%Y")
'31.03.2008'
>>> today.strftime("%d.%m.%Y")
'10.02.2008'
>>> 
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
baumanns
User
Beiträge: 3
Registriert: Sonntag 10. Februar 2008, 10:38

Sonntag 10. Februar 2008, 12:28

gerold hat geschrieben:

Code: Alles auswählen

>>> import datetime
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2008, 2, 10, 12, 5, 0, 406000)
>>> in_50_days = now + datetime.timedelta(days = 50)
>>> in_50_days
datetime.datetime(2008, 3, 31, 12, 5, 0, 406000)
>>> in_50_days.strftime("%d.%m.%Y")
'31.03.2008'
>>> now.strftime("%d.%m.%Y")
'10.02.2008'
>>> 

Code: Alles auswählen

>>> today = datetime.date.today()
>>> today
datetime.date(2008, 2, 10)
>>> in_50_days = today + datetime.timedelta(days = 50)
>>> in_50_days
datetime.date(2008, 3, 31)
>>> in_50_days.strftime("%d.%m.%Y")
'31.03.2008'
>>> today.strftime("%d.%m.%Y")
'10.02.2008'
>>> 
mfg
Gerold
:-)
Danke Gerold!
Dein Code hilft mir schon einiges weiter. Vor allem das dazu addieren und die Ausgabe sind tiptop.
Nur wollte ich nicht vom aktuellen Datum ausgehen, sondern, dass man dieses selber eingeben muss.
Man wird also am Anfang aufgefordert ein Datum einzugeben, vielleicht mittels raw_input() ?
Merci
baumanns
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 10. Februar 2008, 12:28

Naja, schau dir doch mal das Modul ``datetime`` und dort neben ``datetime`` auch noch ``timedelta`` an, das sollte alle deine Fragen beantworten.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Sonntag 10. Februar 2008, 13:05

baumanns hat geschrieben:Nur wollte ich nicht vom aktuellen Datum ausgehen, sondern, dass man dieses selber eingeben muss.
Man wird also am Anfang aufgefordert ein Datum einzugeben, vielleicht mittels raw_input() ?
Hallo baumanns!

Das sind genau die Dinge, die in jedem Pythonbuch beschrieben werden. Vielleicht wartest du mit deinen Fragen lieber noch ein paar Tage. :wink:

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
baumanns
User
Beiträge: 3
Registriert: Sonntag 10. Februar 2008, 10:38

Sonntag 10. Februar 2008, 13:47

gerold hat geschrieben:Vielleicht wartest du mit deinen Fragen lieber noch ein paar Tage. :wink:
Ja, wohl kein schlechter Tipp. :)

Danke soweit.

baumanns
Antworten