www.mikrocontroller.net

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


Autor: Björn Wieck (bwieck)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Roth (gelb)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Daniel B. (dbuergin)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.