title image


Smiley Nix rumprobieren - Nachdenken!!!
Du musst begreifen was es ist, nur dann kannst Du es beherrschen! Was ist also der Wert? Im Prinzip sind es die Tage seit dem 1.1.0000 (nach der gregorianischen Rechnung). Die Sache hat aber einen winzigen Schönheitsfehler, denn in dieser vereinfachten Version fehlt im Jahr 0 ein Schalttag und die dappiche Regelung, dass bei Integerdivisionen immer in Richtung 0 gerundet wird, spielt Dir auch noch einen Streich. Das kannste aber mit einer einzigen Zusatzzeile in den Griff bekommen - Mach das!



Nun zum Zurückrechnen:



Zum Zurückrechnen rechnest Du erst mal aus, in welcher Epoche (400 Jahre) Dein Datum liegen muss. Jede Epoche ist exakt 146097 Tage lang (Anmerkung: Bitte beachte, dass diese Zahl durch 7 teilbar ist - Du kannst das evtl. noch brauchen.



Nun rechnest Du aus in welchem Jahrundert der Epoche Du Dich befindest. Das erste Jahrhundert ist genau einen Tag länger als die nachfolgenden drei Jahrhunderte der Epoche.



Nun zerpflückst Du das Jahrundert in 4 Jahre lange Abschnitte. Diese Abschnitte sind bis auf 3 Ausnahmen in der Epoche (na welche sind das wohl?) auch alle gleich lang.



Du hast nun das Datum schon bis auf 4 Jahre eingegrenzt und bis auf eines, sind die Jahre auch gleich lang. Es sollte Dir nun nicht weiter schwer fallen, das exakte Jahr herauszufinden.



Den Monat kriegst Du nun mit Hilfe Deiner Offsettabelle heraus. Was nun noch übrig bleibt, ist schlicht und einfach der Tag des Monats - Fertisch!



Ansonsten kann ich Dir nur nochmal die Links an's Herz legen, die Dir Pacer100 schon gegeben hat.



Im Übrigen kann ich mich nur der Meinung von Pacer100 anschliessen. Auf so ein Codeschnipselchen etwas anderes als die GPL anzuwenden ist der blanke Hohn.



Noch was: Gewöhn Dir gar nicht erst deutsche Variablennamen an. Du würdest Dich schliesslich auch nicht freuen, wenn Du einen Code aus einer fernen Gegend mit einem seltsamen Dialekt einer sehr exotischen Sprache vorgesetzt bekommst. Besser ein schlechtes Englisch als ein noch so perfektes Hindi.



Überleg Dir auch, ob int ein geeigneter Datentyp ist - Ein int hat nicht zwingend vier Bytes Länge!



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: