Jahreszahlformat - RTC Winterzeit-Sommerzeit

Danke @jurs für den ausführlichen Beitrag.
Meine Frage konnte beantwortet werden.

Vielleicht noch ein paar Erklärungen zu meiner doch wohl etwas speziellen Anwendung.
Und der Bitte um Entschuldigung weil ich meine Frage hier gepostet habe und eigentlich keine RTC habe.

jurs:
Eine Unix-Uhrzeit läuft immer auf GMT. Auf Rechnern mit Betriebssystem (PC, Server) wird diese Zeit dann ggf. in "lokal Time" umgerechnet.

Wenn Du eine Uhrzeit hast, mit Zeitzonenverschiebung und sogar Sommerzeitumschaltung, dann ist das keine Unix-Time, sondern dann ist es eine Localtime.

Ich lese über Serial1 eines Mega 2560 die Kommunikation zwischen einem Datenlogger und den Wechselrichtern meiner Photovoltaikanlage mit.

Der Datenlogger synchronisiert (vermutlich) seine interne Uhrzeit mit einem NTP-Server im Internet.
Er addiert dann eine bzw. zwei Stunden, je nach Winter- oder Sommerzeit, hinzu und arbeitet dann mit dieser lokalen Zeit.
Genaueres kann ich dazu nicht sagen weil die Gerätebeschreibung darüber nichts hergibt.
Meine Beobachtungen haben aber gezeigt, dass die Interne Uhr des Datenloggers immer bis auf +/- 1 Sekunde mit diversen DCF77 Funkuhren im Haus überein stimmt.

Der Datenlogger fragt dann zyklisch (alle 15s) die Wechselrichter ab und übermittelt in jeder Anfrage die aktuelle lokale Uhrzeit.
Das gesendete Protokoll enthält die Uhrzeit in einem 4 Bytes (unsigned long) Format.
Zur Winterzeit die Sekunden seit dem 1. Januar 1970 00:00 + 3600 Sekunden.
Zur Sommerzeit die Sekunden seit dem 1. Januar 1970 00:00 + 7200 Sekunden.

Die Antworttelegramme der Wechselrichter enhalten dann etliche Messwerte über den aktuellen Betriebszustand welche ich auswerte und mit dem zugehörigen Zeitstempel abspeichere.
Ich verwende diesen Zeitstempel weil auch der Datenlogger mit der lokalen Zeit arbeitet und kann damit leichter die vom Arduino aufbereiteten Daten mit den vom Datenlogger aufbereiten Daten synchronisieren.

Warum aber lese ich mit dem Arduino die Kommunikation mit wenn doch schon der Datenlogger alles über die Wechselrichter erfährt?
Der Datenlogger speichert nur Mittelwerte über 5 Minuten (also Mittelwerte aus 20 Messwerten) die er von den Wechselrichtern erhält. Zudem übermitteln die Wechselrichter auch Messwerte die den Datenlogger nicht interessieren und die er dann einfach wegwirft. Aber auch diese vom Datenlogger unbeachteten Werte interessieren mich weil sie den Zustand der Photovoltaikanlage besser beschreiben als nur die vom Datenlogger ausgewerteten Daten alleine.

Deshalb läuft auch die Arduino interne Uhr auf lokaler Zeit.
Um jetzt aber den Sonnenstand zu berechnen, der zur Überwachung der Photovoltaikanlage eine wichtige Größe ist, benötige ich die aktuelle UTC-Time. Hierfür muss ich dann aber wissen ob die lokale Zeit gerade UTC+1 oder UTC+2 ist.

Es mag daher vielleicht umständlich aussehen was ich mache, aber es war für mich die einfachste Lösung in einer Zeile sommerzeit ? adjustTime(-7200) : adjustTime(-3600); die Interne Uhr um eine oder zwei Stunden zurück zu stellen, dann mit der "verstellten" Uhrzeit die Routine zur Berechnung der Sonnenposition aufzurufen und anschließend die interne Uhr wieder mit sommerzeit ? adjustTime(7200) : adjustTime(3600); auf lokale Zeit gerade zu biegen.

jurs:
Bei einer Uhr, von der Du nicht weißt, ob sie auf Sommer- oder auf Winterzeit (UTC+2 oder UTC+1) eingestellt ist, gibt es bei der Rückstellung im Herbst immer eine Phase von einer Stunde, bei der Du nicht genau sagen kannst, welche Zeit vorliegt. Da es bei der Zeitumstellung im Herbst die Stunde zwischen 02:00 und 03:00 Uhr zweimal gibt, kann Dir bei einer solchen Zeitangabe niemand sagen, ob Du in der 2A Stunde (Sommerzeit) oder der 2B Stunde (Winterzeit) bist, wenn Dir keine Informationen darüber vorliegen, um was für eine Zeitangabe es sich handelt.

Das ist allerdings richtig.
Ich weis wirklich nicht was die Uhr im Datenlogger bei der Umstellung von Sommerzeit auf Winterzeit macht und welche Zeit ich von ihr in der 2A Stunde oder 2B Stunde erhalte.
Eigentlich ist es für die Erfassung der Daten von den Wechselrichtern auch völlig egal, weil diese Nachts eh im Tiefschlaf sind und auf Anfragen des Datenloggers keine Antwort geben.
Der Arduino empfängt aber auch Daten von einer kleinen Wetterstation im Garten und anderen Messungen die zeitsynchron mit den Daten der Photovoltaikanlage abgespeichert werden sollen. Und für diese Daten muss ich mir dann überlegen wie der Zeitstempel in der Stunde 2A und 2B aussehen soll.

Viele Grüße
Peter