Anzahl der Tage die seid dem 1.1.xxxx vergangen sind

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
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

Hallo,

dieser code gibt immer die Anzahl der Tage aus die seid dem 1.1.2012 vergangen sind.
nun will ich das Programm über einen längeren Zeitraum laufen lassen. dabei sollte sich die Jahreszahl immer anpassen.
d.h. ab 2013 sollte das Programm wieder die Tage zählen die seid dem 1.1.2013 vergangen sind.
im Jahr 2014 sollte wieder die Tage angezeigt werden die seid dem 1.1.2014 vergangen sind usw.
kann mir jemand sagen wie man sowas macht.
zuerst wollte ich das datum importiern und mit den datumsvariablen arbeiten, was aber nicht funktioniert hat.
vielleicht kann mir jemand helfen

vielen dank im voraus

from datetime import *

today=date.today()
givenDate=date(2012,01,01) #Hier sollte immer die aktuelle Jahreszahl verwendet werden
diff=today-givenDate
NoOfDays=diff.days
print("The Number of day between today and Supplied date is %s"%NoOfDays)
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo,

das datetime-Modul hast du doch bereits gefunden, jetzt solltest du einfach noch einmal kurz in die Dokumentation dazu schauen ;-)

Noch ein paar weitere Hinweise:
- Vermeide *-Import, du kannst sonst später nicht mehr nachvollziehen wo welcher Name her kommt und unter Umständen überschreiben sich Namen gegenseitig. Damit kann man wunderschöne und schwer zu findene Fehler produzieren.
- Wirf einmal einen Blick in PEP 8, dort stehen ein paar Hinweise wie du Dinge benennen oder umsetzen solltest.
- Deinen Code solltest du hier in Code-Tags packen, dann ist er für alle besser lesbar und die Einrückung bleibt erhalten.

Sebastian
Das Leben ist wie ein Tennisball.
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

ok, werde ich in Zukunft machen.
da ich aber Python neuling bin habe ich nocht ein paar fragen:

kannst du mir sagen was ich anstatt Vermeide *-Import, importieren soll? ich heißt der genaue Import?
und zweitens

Code: Alles auswählen

givenDate=date(2012,01,01) #Hier sollte immer die aktuelle Jahreszahl verwendet werden

Code: Alles auswählen

givenDate=date(date.year,01,01) #Hier sollte immer die aktuelle Jahreszahl verwendet werden
Eigentlich wollte ich satt der Jahreszahl date.year benutzen. aber dann kommt ne Fehlermeldnung
was mach ich falsch?
BlackJack

@erdmulch: Schau Dir doch einfach mal in der Dokumentation an wie man Importe noch schreiben kann.

Und natürlich kommt bei `date.year` eine Fehlermeldung. Wie bist Du denn auf die Idee gekommen, dass es dieses Attribut geben würde?
karolus
User
Beiträge: 141
Registriert: Samstag 22. August 2009, 22:34

Hallo
was mach ich falsch?
Einiges!

Code: Alles auswählen

from datetime import datetime
now = datetime.now()
print now.strftime('Heute haben wir den %j. Tag des Jahres %Y')
Schau dir trotzdem die Doku an.http://docs.python.org/library/datetime ... e-datetime

Karo
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

hi, danke

hat einwandfrei funktioniert :-)
Antworten