Laden...

Wie kann ich erkennen ob es Sommer- oder Winterzeit ist?

Erstellt von LeitHai vor 3 Jahren Letzter Beitrag vor 3 Jahren 1.197 Views
L
LeitHai Themenstarter:in
4 Beiträge seit 2019
vor 3 Jahren
Wie kann ich erkennen ob es Sommer- oder Winterzeit ist?

Hallo zusammen,

ich muss ein Script (Konsole) erstellen, mit dem Messwerte aus einer csv-Datei in eine Datenbank geschrieben werden sollen.
Dafür muss ich auch das Datumsformat anpassen - ok, klappt schon.

Ausserdem muss ich allerdings erkennen, ob der Zeitpunkt eines Messwertes in der Sommer- oder in der Winterzeit liegt.
Ich stelle mir eine Funktion vor, der ich einen Zeitpunkt übergebe. In der Funktion soll eben erkannt werden, ob Sommer- oder Winterzeit - dann soll der angepasste Zeitpunkt in UTC mit dem Offset +01 für Winterzeit oder +02 für Sommerzeit zurückgegeben werden.

Ich glaube, eine Funktion, die den letzten Sonntag im März bzw Oktober ermittelt wäre hilfreich. Gibt es so etwas schon?

Danke und Grüße

LeitHai

P
57 Beiträge seit 2017
vor 3 Jahren

Hallo,

schau mal hier: Find the date Last sunday of October in ASP.NET

Damit solltest du arbeiten können.

Gruß,
Dom

.....an unhandled exception is the first way to think about your pattern of programming....
.....nur weil ich nicht weiß was dort passiert, bedeutet es nicht, dass ich nicht weiß, wie man es lösen kann - aber das ist wahrscheinlich....

T
2.219 Beiträge seit 2008
vor 3 Jahren

Im einfachsten Fall hast du schon ein DateTime.
Hier gibt es zum umwandeln dann die ToUniversalTime Methode.

DateTime.ToUniversalTime()

Zum ermitteln von Sommer/Winter Zeit gibt es im DateTime auch eine Methode.
IsDaylightSavingTime.

DateTime.IsDaylightSavingTime()

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

16.807 Beiträge seit 2008
vor 3 Jahren

Bitte immer mit DateTimeOffset arbeiten; besonders beim Umgang mit Datensätzen und Datenbanken.
DateTime ist gegen UTC implementiert und enthält in der Portabilität keine Zeitzoneninformation!
Choose between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo

Über DateTimeOffset kann man auch direkt die Sommer/Winterzeit erkennen; sie heisst im Englischen halt DaylightSavingTime.

TimeZoneInfo.IsDaylightSavingTime Method