Von JavaScript habe ich an die Steuerung die Anzahl der Minuten übergeben, die die Client-Datumszeit des Benutzers gegenüber UTC mit der Methode getTimezoneOffset
auf dem Date
-Objekt verrechnet wurde. Jetzt, da ich diese Informationen auf der Serverseite habe, möchte ich eine TimeZoneInfo daraus erstellen. Wie ist das möglich? Wenn dies nicht möglich ist, wie kann ich UTC-Daten auf der Serverseite in die Zeitzone des Clients mit dem Minuten-Offset konvertieren?
Ich möchte ein TimeZoneInfo daraus erstellen. Wie ist das möglich?
Es ist nicht möglich. Ein Zeitzonenoffset ist nicht dasselbe wie eine Zeitzone . Bitte lies das Zeitzonen-Tag-Wiki , insbesondere den Abschnitt "Zeitzone! = Offset".
... wie kann ich dann UTC-Daten auf der Serverseite in die Zeitzone des Clients mit dem Minuten-Offset umwandeln?
Erstellen Sie eine DateTimeOffset
, die diesen Zeitpunkt darstellt. Zum Beispiel:
Stellen Sie außerdem sicher, dass Sie wissen, dass der Offset, den Sie vom Client in JavaScript abgerufen haben, nicht unbedingt der korrekte Offset ist, der für das Datum Ihrer Datenbank gilt. Wenn Sie den Offset erhalten, muss dies für einen bestimmten Zeitpunkt geschehen. Da viele Zeitzonen Offsets für die Sommerzeit ändern, können Sie nicht davon ausgehen, dass der aktuelle Offsetwert für einen bestimmten Wert in Ihrer Datenbank geeignet ist. Daher, während der obige Code tut, was Sie gefragt haben, ist es wahrscheinlich immer noch keine gute Idee im Allgemeinen.
Tags und Links javascript c# datetime asp.net-mvc-4 timezone