Forum: Mikrocontroller und Digitale Elektronik GPS Uhr: UTC > MESZ umrechnung


von Björn W. (bwieck)


Angehängte Dateien:

Lesenswert?

Hallo, Ich bin gerade dabei mir einen Wecker zu basteln der per 
GPS-Empfänger
die aktuelle Uhrzeit und das Datum bekommt.
Das klappt soweit auch schon ganz gut, bis auf das Problem das die Daten 
von GPS immer auf UTC basieren.

Ich bräuchte einen Denkanstoß wie ich die UTC in MESZ umrechnen kann.
In .de gibt es ja leider sowas wie Sommer und Winterzeit > also UTC+1 
oder UTC+2, und blöderweise wird nicht immer am selben Datum umgestellt 
sondern
jeweils am letzten Sonntag des Monats März oder Oktober.

Mein erster Gedanke einen Kalender einzubauen und zu prüfen ob gerade 
Sommerzeit oder Winterzeit ist fand ich noch nicht so gut.

Im Anhang der Code den ich bis jetzt zusammen habe.

Any hints?

Grüße
Björn

von Peter R. (gelb)


Lesenswert?

Im NMEA - Format gibt es den Datensatz

ZDA - Time & Date - UTC, day, month, year and local time zone.

Wenn der von deinem GPS-Empfänger geliefert wird, bist du fein raus, 
weil dort die Lokalzeit und die Zeitdifferenz direkt angegeben sind.

Grüße, Peter

von Daniel B. (dbuergin)


Angehängte Dateien:

Lesenswert?

Hallo

Ich habe Dir leider nur etwas in C, aber vielleicht hilft es Dir 
trotzdem.

Grundsätzlich mache ich es nach dem folgenden Schema:

- Mit mktime() Datum und Uhrzeit in einen sogenannten Timestamp
  umrechnen. (normalerweise Sekunden seit dem 1.1.1970)
- 3600s für Deutschland/Schweiz dazu addieren (UTC + 1)
- mit summertime() auf Sommerzeit überprüfen und gegebenfalls anpassen
- mit gettime() wieder in eine Datum/Zeit Struktur zurück verwandeln

Die meisten Routinen sind von Peter Dannegger (dem grossen Meister ;-) 
). Dazu habe ich die Routine mktime() im Internet gefunden und 
angepasst.

Gruss

Daniel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.