Horst: Die Gregorianische Kalender-Reform richtig verstehen

Beitrag lesen

Hi Martin,

Programmieren macht Spaß :-)

Full ACK.
Erst recht, wenn man die Zusammenhänge begreift.

Ich hab sogar das mit den Pointern und structs verstanden ;-)
Stück für Stück kommt mein altes, mir seit 1995 angedichtetes Verständnis für c wieder.

Zurück zur Kalenderberechnung: Es ist so, dass mit den richtigen Formeln jeder einzelne Tag von Tag 0 am 1.1. 4712 B.C. bis heute (Julianischer Tag 2454561) eindeutig bestimmbar ist. Da lohnt es sich schonmal ein struct in c zu bauen, meins sieht so aus:

// Prototyp der Struktur für einen eindeutig bestimmten Tag
struct tagx {
 int julianday;        // Julianischer Tag
 int day;              // Tag zum Datum
 int month;            // Monat zum Datum
 int year;             // Jahr zum Datum
 int numweekday;       // Wochentag numerisch 1 Montag.. 0 Sonntag
 int leapyear;         // Schaltjahr 0 oder 1
 int weeksyear;        // Anzahl der Wochen zum Jahr
 int kw;               // Kalenderwoche numerisch
 int kwyear;           // Das Jahr zur Kalenderwoche
 char skw[10];         // Kalenderwoche like "14.2008"
 char wotag[20];       // "Montag", "Dienstag" usw.
 char monat[20];       // "Januar", "Februar" usw.
 int elapsed;          // Seit Jahresbeginn abgelaufene Tage
 int ydays;            // Die Anzahl der Tage des Jahres
 int restd;            // Die Verbleibenden Tage bis zum Jahresende
 int sommerzeit;       // Sommerzeit 0 oder 1
 int begin_summertime; // Beginn der Sommerzeit, Julianischer Tag
 int end_summertime;   // Ende der Sommerzeit, Julianischer Tag
 char date[15];        // Das Datum like "31.03.2008"
};

Das struct vereinfacht den Quellqode ungemein.

Wie schon gesagt, Programmieren macht viel Freude ;-)

Viele Grüße an Alle,
Hotte