Ich habe C # -Code geerbt, der sehr viele DateTimes enthält, wobei die Kind-Eigenschaft DateTimeKind.Unspecified ist. Diese werden in Datetime.ToUniversalTime () eingegeben, was eine UTC-Datetime zurückgibt (in meinem Fall 7 Stunden). So funktioniert ToUniversalTime (); Siehe MSDN. Das Problem ist, dass diese DateTimes tatsächlich schon in UTC-Zeit sind. Sie werden aus einer SQL Server Compact 4.0-Datenbank abgerufen. Sie wurden dort in UTC gespeichert. Meine Hauptfrage ist:
Wenn ich eine (n) Folgefrage (n) haben könnte, wäre es:
Bitte lassen Sie mich wissen, wenn ich mehr Details zur Verfügung stellen kann. Ich bin neu in diesem Code-Basis und immer noch mein Gehirn herum, so dass ich Probleme habe, das Problem perfekt zu beschreiben.
Dave
Brauchst du vielleicht so etwas:
%Vor%Über die Methode "SpecifyKind ()" von MSDN :
Die SpecifyKind-Methode erstellt ein neues DateTime-Objekt mit dem angegebenen art-Parameter und dem ursprünglichen Zeitwert.
Es wird ein neues Objekt, eine neue Art und den gleichen Zeitwert erzeugen. Sie können die Art des vorhandenen Objekts nicht ändern. Sie müssen ein neues Objekt mit denselben Werten und verschiedenen Arten erstellen.
In Bezug auf andere Frage hier sind unterstützte Typen in SQL Compact . Und hier ist das Problem bezüglich DateTimeOffset . Es sieht so aus, als ob es noch nicht in Sql Compact unterstützt wird.
Ich verwende eine Erweiterungsmethode:
%Vor% Dies ist viel kürzer in LINQ zu verwenden, als jedesmal DateTime.SpecifyKind(unspecified, DateTimeKind.Utc)
eingeben zu müssen.
Zum Beispiel:
%Vor%Sie könnten die beiden obigen Antworten für eine sauberere Lösung kombinieren ...
%Vor%Tags und Links .net c# datetime sql-server-ce