Re: Kalenderformel

Von: , Frage gestellt am Di, 20. Jun 2000

Hallo Romuald,
(Romuald Konietzny, 17.4.2000 23:03) 

Du schriebst:
________________________
Wer weiss, wie die Kalenderformel lautet?
Zwecks Kalendergenerierung.
Ich nehme an, dass ich die Schaltjahr-Problematik nicht berücksichtige. Deshalb
brauche ich eine Kalenderformel, die Schaltjahr-Problematik und sonstige relevate Daten, wie Anfang und Ende
der Winter- und Sommerzeit(genaue Daten, Uhrzeit...), einschliesst.
Mit Dank & Gruss
R.K.
_______________________

Kalender? - gibts bei Tommy!
http://th-o.de/kalender.htm
fast alle benötigten Formeln und Demo Programm.

beste Grüße, Thomas

1 Antworten zu dieser Frage

  1. Antwort von nach einem Tag hilfreich
    Kalender in C für DOS

    Hi, ich hab mal einen Kalender von 1900 - 2099 programmiert.
    (Alle Programmierer mögen mir folgendes verzeihen)



    #include <stdio.h>
    #include <stdlib.h>
    void main(void)
    {
    int j;
    int ja;
    int jz;
    int jm;
    int jaanf;
    int tag;
    int m;
    int t;
    int monanf;
    int tagm;
    for(;;)
    {
    printf("Bitte um das Jahr, Monat und Tag: \n");
    scanf("%d:%d:%d",&j,&m,&t);
    jz = j - 1900;
    jm = jz % 28;



    switch (jm)
    {
    case 0: ja = 0; break;
    case 1: ja = 2; break;
    case 2: ja = 3; break;
    case 3: ja = 4; break;
    case 4: ja = 5; break;
    case 5: ja = 0; break;
    case 6: ja = 1; break;
    case 7: ja = 2; break;
    case 8: ja = 3; break;
    case 9:ja = 5; break;
    case 10:ja = 6; break;
    case 11:ja = 0; break;
    case 12:ja = 1; break;
    case 13:ja = 3; break;
    case 14:ja = 4; break;
    case 15:ja = 5; break;
    case 16:ja = 6; break;
    case 17:ja = 1; break;
    case 18:ja = 2; break;
    case 19:ja = 3; break;
    case 20:ja = 4; break;
    case 21:ja = 6; break;
    case 22:ja = 0; break;
    case 23:ja = 1; break;
    case 24:ja = 2; break;
    case 25:ja = 4; break;
    case 26:ja = 5; break;
    case 27:ja = 6; break;
    default: ja = 99;


    }

    switch (m)
    {
    case 1: monanf = 0; break;
    case 2: monanf = 31; break;
    case 3: monanf = 59; break;
    case 4: monanf = 90; break;
    case 5: monanf = 120; break;
    case 6: monanf = 151; break;
    case 7: monanf = 181; break;
    case 8: monanf = 212; break;
    case 9: monanf = 243; break;
    case 10: monanf = 273; break;
    case 11: monanf = 304; break;
    case 12: monanf = 334; break;
    }

    tag = ja + monanf + t -1;
    /* printf ("tag: %d, monanf: %d, monat: %d\n",tag, monanf,m);*/
    if ((jz % 4) == 0)
    {
    if (m > 2)
    tag++;
    }
    /* printf ("tag: %d\n",tag);*/

    tagm = tag % 7;

    switch (tagm)
    {
    case 1:
    printf("Montag, Depp!\n");
    break;
    case 2:
    printf("Dienstag, Depp!\n");
    break;
    case 3:
    printf("Mittwoch, Depp!\n");
    break;
    case 4:
    printf("Donnerstag, Depp!\n");
    break;
    case 5:
    printf("Freitag, Depp!\n");
    break;
    case 6:
    printf("Samstag, Depp!\n");
    break;
    case 0:
    printf("Sonntag, Depp!\n");
    break;

    default:
    printf("Weisst, wasd willst, Depp!\n");
    break;
    }
    }
    }

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!