amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Datum, Schaltjahre, etc. [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

10.12.2002, 12:30 Uhr

BJ
Posts: 247
Nutzer
Ich bräuchte mal eine möglichst komplette Regelbeschreibung, wann jetzt ein Schaltjahr ist. Alle 4 Jahre, schon klar, aber da gab's doch wieder Ausnahmen...

Ach ja, und falls jir jemand eine "Formel" nennen kann, wie ich aus dem Datum den Wochentag ableiten kann, wäre das traumhaft!
--
It's time to kick ass and chew bubblegum! :O

(Duke Nukem)

[ - Antworten - Zitieren - Direktlink - ]

10.12.2002, 13:06 Uhr

HAK
Posts: 85
Nutzer
Hi BJ,

Zitat:
Original von BJ:
Ich bräuchte mal eine möglichst komplette Regelbeschreibung, wann jetzt ein Schaltjahr ist. Alle 4 Jahre, schon klar, aber da gab's doch wieder Ausnahmen...


Ein Schaltjahr ist ein Jahr, welches
- durch 4 teilbar ist

Ausnahme:
- wenn es durch 100 teilbar ist

Ausnahme der Ausnahme:
- wenn es durch 400 teilbar ist

(für die ganz Schlauen: mit teilbar meine ich teilbar ohne Rest ;) )

D.h.:
1900 ist kein Schaltjahr weil:
ist durch 4 teilbar - ja;
ist durch 100 teilbar - nein;
ist nicht durch 400 - nein;

2000 ist ein Schaltjahr weil:
ist durch 4 teilbar ja;
ist auch durch 100 teilbar - nein;
ist auch durch 400 teilbar - ja;


Bye HAK

[ - Antworten - Zitieren - Direktlink - ]

10.12.2002, 13:07 Uhr

seekme
Posts: 66
Nutzer
Hi,

hier http://www.perce.de/schule/kalenderalgorithmen.pdf gibts ein schönes pdf mit Turbopascal-Code. Ist zwar eigentlich für Schüler, aber die Lösungen stehen dabei.
Sollte leicht nachvollziehen sein.

Der sourcecode einieger Pearl-module ist sicher auch aufschlußreich. Leider bekommt man von Pearl-code leicht Augenkrebs oder Gehirnkrampfen ;-)
viel spaß.


(ui, mein erstes posting. muß gleich mal 'meine Benutzerdaten pflegen;)

[ - Antworten - Zitieren - Direktlink - ]

10.12.2002, 15:47 Uhr

Micha1701
Posts: 938
Nutzer
Zitat:
Original von HAK:

1900 ist kein Schaltjahr weil:
ist durch 4 teilbar - ja;
ist durch 100 teilbar - nein;
ist nicht durch 400 - nein;

2000 ist ein Schaltjahr weil:
ist durch 4 teilbar ja;
ist auch durch 100 teilbar - nein;
ist auch durch 400 teilbar - ja;


Naja, Ergebnis richtig, Lösung falsch ;)

1900 ist kein Schaltjahr, weil es durch 4 UND durch 100 teilbar ist.

2000 ist ein Schaltjahr, weil es durch 4, durch 100 und durch 400 teilbar ist... ;)




--
:boing: Micha :boing:

Look at my HP: http://www.lanser-online.de.vu



[ - Antworten - Zitieren - Direktlink - ]

10.12.2002, 19:56 Uhr

ArminHuebner
Posts: 1349
Nutzer
Ein Schaltjahr ist ein Jahr, dessen Jahreszahl durch 4 ohne Rest teilbar ist.

Ausgenommen sind Jahrhundertwechsel, es sei denn, deren Jaheszahl ist durch 400 ohne Rest teilbar.

function ist_Schaltjahr(jahr) {
if (jahr % 4 == 0)
if (jahr < 1582)
return 1;
else if (!(jahr % 100 == 0))
return 1;
else if (jahr % 400 == 0)
return 1;
return 0;
}

[ Dieser Beitrag wurde von ArminHuebner am 10.12.2002 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

12.12.2002, 07:21 Uhr

Fendrich
Posts: 1
Nutzer
/* Die C-Funktion "WTBerechnung" gibt die Anzahl der Tage zwischen 0000,12,31 und abgefragten Datum zurück (man kann dies z. B. zum Ausrechnen der Tage zwischen zwei Datum verwenden). */
/* Wird der Rückgabewert der C-Funktion "WTBerechnung" mit 7 moduliert (Restoperator %), dann erhält man den Wochentag (0=Sonntag, 1=Montag, 2=Dienstag, 3=Mittwoch, 4=Donnerstag, 5=Freitag, 6=Samstag). */

LONG WTBerechnung ( jjjj , mm , tt ) SHORT jjjj , mm , tt ;
{
REGISTER LONG ja , mo , ta ;
ja = jjjj ;
mo = mm ;
if ( mm <= 2 )
{
ja = jjjj - 1 ;
mo = mm + 12 ;
}
ta = ( ( ja - 1 ) * 365 ) + ( ja / 4 ) - ( ( ( ( ja / 100 ) * 749 ) + 999 ) / 1000 ) + ( ( mo - 1 ) * 31 ) - ( ( ( mo * 4 ) + 23 ) / 10 ) + tt ;
return ( ta ) ;
}

[ - Antworten - Zitieren - Direktlink - ]

23.12.2002, 14:35 Uhr

Mad_Dog
Posts: 1944
Nutzer
Keine Ahnung, ob's Dir hilft, aber ich mußte für die Uni mal so ein
Programm im Scheme (ein LISP-Dialekt) machen.
Das berechnet Schaltjahre, den Wochentag und die verbleibenden Tage
bis zu einem bestimmten Datum.
Das Teil kannst Du auf meiner Homepage herunterladen.
Nen passenden Scheme-Interpreter findest Du im Aminet (guile 1.4).

Hier die URL meiner Homepage:

http://www.norman-interactive.com


[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Datum, Schaltjahre, etc. [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.