Jahreszahlformat - RTC Winterzeit-Sommerzeit

Doc_Arduino:
ich bin gerade dabei die Sache mit der RTC anzupassen und nutze dafür den Code von jurs.
Danke erstmal dafür. 1A.

Du nutzt offenbar einen modifizierten Code von jurs.
Mein Code war leicht wiederverwertbar, weil er die zur Berechnung notwendigen Parameter beim Funktionsaufruf übergeben bekommen hat. Außerdem hat mein Code die Zeitzone berücksichtigt, so daß man sowohl eine UTC-Zeit (timezone=0) eine "Winterzeit" (timezone=1) oder eine Sommerzeit (timezone=2) übergeben konnte und man hat das richtige Ergebnis erhalten. Das ist nach Wegrationalisierung der timezone irgendwie nicht mehr der Fall.

Dein Code nutzt nun globale Variablen zur Berechnung innerhalb der Funktion.
Kann man machen, aber dann muss man immer aufpassen, womit man rechnet.

Doc_Arduino:
Übergibt man der Funktion die Jahreszahl 4stellig, ist alles i.O.
Übergibt man der Funktion die Jahreszahl 2stellig, funktioniert sie nicht mehr.
Warum?

So auf den ersten Blick sage ich mal: Die Funktionen liefern dieselben Ergebnisse, wenn sie mit denselben Werten rechnen. Allerdings rechnet die eine Funktion mit einer globalen Variablen "year" und die andere mit einer globalen Variablen "Jahr".

Und die Funktion, die mit der globalen Variablen "Jahr" rechnet, rechnet immer mit vierstelligen Jahreszahlen, weil die Variable Jahr durch Auslesen der RTC wie folgt erzeugt wird:

Jahr      = bcdToDec(Wire.read() ) + 2000;

Eine Berechnung mit einer zweistelligen Jahreszahl sehe ich nicht.
Also wieso soll es ein Problem geben? Und welches Problem genau, hast Du ein Beispiel?

Doc_Arduino:
Und warum werden die Funktionsvariablen year, month, day und hour in der IDE rot dargestellt?
Würde doch bedeuten, diese Namen werden von der IDE intern schon verwendet?

Das bedeutet, dass Du irgendeine Library installiert hast, die diese Variablennamen als Keywords deklariert hat. Ob diese Namen für irgendwas anderes auch tatsächlich verwendet werden, darüber sagt das nichts aus. Das sagt nur aus, dass Du gerade ein Keyword hingeschrieben hast. Der Arduino-Editor ist recht trivial gestrickt.