Hallo allerseits,
für die unter euch willigen eine neue Programmieraufgabe.
Problemstellung:
Gegeben ist ein Datum vom Anwender (Eingabe: TT.MM.YYYY). Zu Berechnen sind die Tage vom 01.01.YYYY bis TT.MM.YYYY. Schwierigkeit dabei ist es, das von der jeweiligen Pattform (Programmiersprache) keine integrierten Datumsabfragen oder sonstige Utilities genutzt werden sollen.
Hinweise:
Zu beachten sind ebenfalls die Schaltjahre. Um heraus zu bekommen ob ein bestimmtes Jahr ein Schaltjahr ist, muss dieses durch 4 oder 400 Teilbar sein.
Hilfestellung:
Januar - 31 Tage
Februar - 28 Tage ( + evt. Schaltjahr )
März - 31 Tage
April - 30 Tage
Mai - 31 Tage
Juni - 30 Tage
Juli - 31 Tage
August - 31 Tage
September - 30 Tage
Oktober - 31 Tage
November - 30 Tage
Dezember - 31 Tage
Nach dem ersten Lösungsvorschlag eines anderen werde ich meine Java-Variante vorstellen.
Viel Erfolg
minzel
für die unter euch willigen eine neue Programmieraufgabe.
Problemstellung:
Gegeben ist ein Datum vom Anwender (Eingabe: TT.MM.YYYY). Zu Berechnen sind die Tage vom 01.01.YYYY bis TT.MM.YYYY. Schwierigkeit dabei ist es, das von der jeweiligen Pattform (Programmiersprache) keine integrierten Datumsabfragen oder sonstige Utilities genutzt werden sollen.
Hinweise:
Zu beachten sind ebenfalls die Schaltjahre. Um heraus zu bekommen ob ein bestimmtes Jahr ein Schaltjahr ist, muss dieses durch 4 oder 400 Teilbar sein.
...
1582 führte daraufhin Papst Gregor den Gregorianischen Kalender ein, der das Jahr in 365 Tage, 5 Stunden, 48 Minuten und 46 Sekunden einteilt.
Nach dieser Einteilung sammelt sich ebenfalls nach
4 Jahren etwas mehr als ein ganzer Tag an, was wieder durch ein Schaltjahr fast ausgeglichen wird.
Und um die verbleibende Ungenauigkeit auszugleichen, wurde festgelegt, dass alle durch 100 teilbaren Schaltjahre ausfallen.
Nach hundert Jahren werden so schon rund 18 Stunden und 43 Minuten gut gemacht. Da man jedoch einen ganzen Tag, also 24 Stunden abzieht, müssen alle Schaltjahre, die durch 400 teilbar sind, dann doch wieder stattfinden, um diese Differenz auszugleichen.
So ist zum Beispiel das Jahr 2000, das zwar durch 100, aber auch durch 400 teilbar ist, ein Schaltjahr. Das Jahr 2100 hingegen ist nicht durch 400 teilbar und somit kein Schaltjahr.
Quelle: http://www.wdrmaus.de/sachgeschichten/archiv040229.phtml
Hilfestellung:
Januar - 31 Tage
Februar - 28 Tage ( + evt. Schaltjahr )
März - 31 Tage
April - 30 Tage
Mai - 31 Tage
Juni - 30 Tage
Juli - 31 Tage
August - 31 Tage
September - 30 Tage
Oktober - 31 Tage
November - 30 Tage
Dezember - 31 Tage
Nach dem ersten Lösungsvorschlag eines anderen werde ich meine Java-Variante vorstellen.
Viel Erfolg
minzel