Forum: PC Hard- und Software Aktuelle Uhrzeit rausbekommen


von Borislav B. (boris_b)


Lesenswert?

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?

: Verschoben durch User
von afterfüßiger zweyfuß (Gast)


Lesenswert?

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."

von Mike (Gast)


Lesenswert?

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.

von Sean G. (atmega318)


Lesenswert?


: Bearbeitet durch User
von Borislav B. (boris_b)


Lesenswert?

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...

von Borislav B. (boris_b)


Lesenswert?

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...

von Volker (Gast)


Lesenswert?


von Borislav B. (boris_b)


Lesenswert?

Im Prinzip schon. Für das Parsen auf dem µC aber vielleicht etwas zu 
viel.
Etwas Minimalistischeres wäre schön ;-)

von Michael B. (alter_mann)


Lesenswert?

Ist Google schon wieder offline?
Hinweis: "Uhrzeit Deutschland" bringt bei mir 4.030.000 Ergebnisse in 
0,22 Sekunden.

von ich (Gast)


Lesenswert?

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".

von afterfüßiger zweyfuß (Gast)


Lesenswert?

Boris P. schrieb:
> Im Prinzip schon. Für das Parsen auf dem µC aber vielleicht etwas
> zu viel.
> Etwas Minimalistischeres wäre schön ;-)

http://www.earthtools.org/timezone/53.5/12.5

von bluppdidupp (Gast)


Lesenswert?

Schau mal nach NodaTime, allerdings keine Ahnung ob das auch beim Micro 
Framework läuft.

von Frank (Gast)


Lesenswert?

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

von Borislav B. (boris_b)


Lesenswert?

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...

von oszi40 (Gast)


Lesenswert?

z.B. DCF77-Signal prüfen auf 200ms/100ms
http://www.dcf77.de/kodierschema-des-dcf77-signals.html

Aber Vorsicht, weil schlechter DCF-Empfang das Impulsdiagramm 
verfälschen kann, ist mehrfache Prüfung sinnvoll.

von Reinhard S. (rezz)


Lesenswert?

Boris P. schrieb:
> 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...
1
<?php
2
echo date('I h:i:s ')
3
?>
Das "I" zeigt dir übrigens an, ob MEZ oder MESZ.

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.