Aktuelle Uhrzeit rausbekommen

OP #3576802
Hallo,
ich habe hier ein kleines Problem bei dem ich eure Hilfe brauche. Es 
geht darum, die aktuelle Uhrzeit mit C#/.NET herauszubekommen.

Eigentlich ist das ja ganz einfach: DateTime.Now.

Nun verwende ich aber das .NET Micro Framework (.NETMF), auf einem 
Microcontroller-Board. Da gibt es natürlich keine zuverlässige Uhr.
Also frage ich die Zeit von einem Zeitserver im Internet ab. Das 
funktioniert auch in soweit, als dass ich eine korrekte UTC Zeit 
bekomme.

Doch wie komme ich nun an die lokale, deutsche Zeit? Einfach eine 
Zeitzonen-Konstante draufrechnen reicht ja nicht, weil ja auch die 
Sommer- und Winterzeit mit einbezogen werden müssen.

Wie mach ich das am besten?
Gast
Ich kenne mich mit dem .NET Micro Framework nicht aus, aber gibt es 
darin nicht auch DateTime.ToLocalTime?

"The local time is equal to the Coordinated Universal Time (UTC) time 
plus the UTC offset. For more information about the UTC offset, see the 
GetUtcOffset method. The conversion also takes into account the daylight 
saving time rule that applies to the current value of the current 
DateTime object."

http://msdn.microsoft.com/en-us/library/hh401602.aspx

"Available in the .NET Micro Framework versions 2.0, 2.5, 3.0, 4.0, 4.1, 
and 4.2."
Gast
Boris P. schrieb:
> Doch wie komme ich nun an die lokale, deutsche Zeit? Einfach eine
> Zeitzonen-Konstante draufrechnen reicht ja nicht, weil ja auch die
> Sommer- und Winterzeit mit einbezogen werden müssen.

Dafür danke deiner Regierung und der goldenen Kuh "einheitliche 
Sommerzeitregelung für die EU". In der Richtlinie 2000/84/EG zur 
Regelung der Sommerzeit[62] und den ergänzenden Mitteilungen 2001/C 
35/07[63] und 2006/C 61/02 stehen diese mehr oder weniger willkürlichen 
Festlegungen. Entweder du holst dir die Umschalttermine aus dem I-Net 
oder packst eine Tabelle in deinen Code, die bei einer Änderung der 
Verordnung ggf. aktualisiert werden muss.
OP
afterfüßiger zweyfuß schrieb:
> Ich kenne mich mit dem .NET Micro Framework nicht aus, aber gibt es
> darin nicht auch DateTime.ToLocalTime?

Jo, da hst du Recht. Allerdings funktioniert das beim Compact Framework 
nicht, da man

Thread.CurrentThread.CurrentCulture

nicht setzen kann (gibt es da nicht). Leider kenne ich keine andere 
Möglichkeit die aktuelle Culture zu setzen...
OP
Gibt es vielleicht eine Webseite, die direkt die aktuelle deutsche 
Uhrzeit zum Abgriff bereit hält?

Muss ja nicht per NTP sein, kann ja z.B. auch als einfache Webseite 
aufbereitet sein. Die könnte ich ja dann aufrufen, auslesen und 
parsen...
Gast
Michael Bauer schrieb:
> Ist Google schon wieder offline?
> Hinweis: "Uhrzeit Deutschland" bringt bei mir 4.030.000 Ergebnisse in
> 0,22 Sekunden.

Das ist doch mal 'ne gute Quote. Gibt's da einen Wettbewerb? ;-)

Klar sind viele richtige Treffer dabei, aber man sollte nicht mit einer 
Zahl von 4Mio hantieren, denn viele davon haben nur eines der Suchworte 
getroffen.

Wobei die Hälfte davon auf "Uhrzeit" entfällt und die andere Hälfte auf 
"Deutschland". Beispielsweise "Lottozahlen Deutschland" oder "NBA 
Deutschland" oder "Uhrzeit Türkei".
Gast
a) es gibt keine "Winterzeit", sondern nur die Sommerzeit und die 
normale MEZ

b) hast du Zugriff auf einen Webeserver? Mit drei Zeilen PHP kannst du 
dir per Socket die Uhrzeit abholen, ohne jeden HTTP- und HTML-Overhead
OP
Michael Bauer schrieb:
> Ist Google schon wieder offline?
> Hinweis: "Uhrzeit Deutschland" bringt bei mir 4.030.000 Ergebnisse in
> 0,22 Sekunden.

Sehr hilfreich, danke! Welche dieser 4.030.000 Webseiten bietet denn die 
aktuelle Uhrzeit ohne Overhead, d.h. ohne viel Webseite drum herum?

afterfüßiger zweyfuß schrieb:
> http://www.earthtools.org/timezone/53.5/12.5

Das sieht gut aus, sowas hatte ich mir vorgestellt. Danke!

Frank schrieb:
> b) hast du Zugriff auf einen Webeserver? Mit drei Zeilen PHP kannst du
> dir per Socket die Uhrzeit abholen, ohne jeden HTTP- und HTML-Overhead

Hättest du ein Beispiel (wenn es nur 3 Zeilen sind)?
Das würde mich auch mal interessieren...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.