Zeitdifferenzen mit unterschiedlichen Zeitzonen
-
Hallo,
ich habe eine Frage zur Berechnung von Zeitdifferenzen.
DateTime t1, t2; TimeSpan ts; t1 = Convert.ToDateTime("11.4.2016 12:00:00 GMT"); t2 = Convert.ToDateTime("12.4.2016 12:00:00"); ts = new TimeSpan(t2.Ticks - t1.Ticks); richTextBox1.AppendText(ts.ToString() + "\n"); t1 = Convert.ToDateTime("1.1.2000 12:00:00 GMT"); t2 = Convert.ToDateTime("12.4.2016 12:00:00"); ts = new TimeSpan(t2.Ticks - t1.Ticks); richTextBox1.AppendText(ts.ToString() + "\n");
Das Ergebnis dieses Beispiels:
22:00:00 5945.23:00:00
Die erste Differenz ist logisch, weil wir zwischen GMT und MESZ zwei Stunden Differenz haben.
Aber warum erscheint in der zweiten Zeile nur eine Stunde Differenz?Gruß
Michael
-
Sommerzeit
-
Th69 schrieb:
Sommerzeit
Das verstehe ich nicht. Der Zeitpunkt t2 ist in beiden Fällen identisch und zweifellos MESZ, also Sommerzeit.
Der erste Zeitpunkt ist in beiden Fällen als GMT definiert. Falls bei "GMT" abhängig vom Datum die Sommerzeit berücksichtigt wird, dann müsste doch die Differenz im ersten Beispiel 1 Stunde und im zweiten Beispiel 2 Stunden sein.Gruß
Michael
-
Was ich eigentlich brauche ist die exakte Zeitdifferenz zwischen jetzt und 1.1.2000 12:00 UTC. Diese Zeitdifferenz darf sich bei der Sommerzeit-Umstellung selbstverständlich nicht schlagartig um eine Stunde verändern.
Wie würdet ihr das machen?Gruß
Michael
-
Ich würde
DateTime.UtcNow - DateTime(2000, 1, 1, 12, 0, 0, DateTimeKind.UTC)
empfehlen.
-
hustbaer schrieb:
Ich würde
DateTime.UtcNow - DateTime(2000, 1, 1, 12, 0, 0, DateTimeKind.UTC)
empfehlen.Danke, das liefert zumindest für heute das richtige Ergebnis.
(Eine kleine Korrektur war notwendig: Utc statt UTC)
Ende Oktober wird sich zeigen ob es dann immer noch gehtTimeSpan ts = DateTime.UtcNow - new DateTime(2000, 1, 1, 12, 0, 0, DateTimeKind.Utc);
Gruß
Michael
-
Ich weiß nicht ob ich jetzt irgendwo einen Denkfehler habe, aber ist es nicht korrekt das einmal eine Stunde differenz auftaucht? Schließlich liegt der Startzeitpunkt der 2. Berechnung in der Winderzeit und der Endzeitpunkt in der Sommerzeit.
-
Hi,
je nachdem was du vor hast und ob du jetzt eine Designentscheidung für ein größeres Projekt treffen willst, empfehle ich dir dringend die beiden Artikel zu lesen:
https://msdn.microsoft.com/en-us/library/bb384267%28v=vs.110%29.aspx
http://stackoverflow.com/questions/4331189/datetime-vs-datetimeoffsetViele Grüße
KaPtainCugel