Dies ist eine sehr einfache (hoffentlich) Frage. Ich bin neu mit der DateTime-Konvertierung in .NET zu arbeiten.C# UTC DateTime-Abfrage in WCF/.NET
Ich habe einen WCF-Dienst, der eine DateTime-Eigenschaft hat - nennen Sie es BookingDate.
Jemand geht das meinem WCF-Dienst im Format:
<a:BookingDate>2012-03-26T17:03:00-04:00</a:BookingDate>
Der Server, auf dem sie sitzt eingestellt ist auf eine Zeitzone von UTC (Lissabon, London, Dublin).
Wenn ich den entsprechenden Wert in der Datenbank speichern, wird der Wert zu sein:
2012-03-26 22:03
Ich nahm an, ich glaube, falsch, dass das .NET Framework (als Teil des WCF serialize/deserialize Prozess) würde für mich in eine .Net für Datum und Uhrzeit von UTC Pop
ich erwarte (wie es der minus von 4 Stunden, wie oben versetzt ist): 2012-03-26 21:03
Meine Frage ist also: ich würde rufen müssen:
var date = fromClientWCFService.BookingDate.ToUniversalTime();
um die 21:03 Zeit zu bekommen, die ich erwarte?
Wenn nicht, gibt es eine WCF-Einstellung, um meinem Dienst mitzuteilen, DateTimes in UTC zu konvertieren, anstatt die Server-Zeitzone?
Vielen Dank im Voraus
Mark
EDIT:
Von 1 Antwort, kann ich sehen, dass Datetime verwendet werden kann. Anschluss an diese, würden die folgenden Arbeiten: var offset = DateTimeOffset.Parse("2012-03-26T17:03:00-0400");
, um das Ergebnis zurück: 2012-03-26 21:03
Dupe: http://stackoverflow.com/questions/259005/handling-wcf-deserialization-of-datetime-objects – casperOne
Ist das in der Tat ein Betrogener? Wenn es so ist, sollten wir es als solches abschalten. – casperOne