Dette fungerer muligvis for dig:
// This is your code
// Deserializing the DateTime object
DateTime eventTimeStamp = (DateTime)aDoc[MongoStrings.Log_Field_TimeStamp];
Console.Out.WriteLine("UtcDate: " + eventTimeStamp);
Console.Out.WriteLine("Locale : " + eventTimeStamp.Kind);
// This is new code
Console.Out.WriteLine("LocalDate: " + eventTimeStamp.ToLocalTime());
Begrundelsen vil være, at dine localTime-variabler er sat til nøjagtig samme tidsstempel som den i UTC, du siger bare, at det skal tages som en lokal tid. Men denne indstilling som lokal tid foretager ingen konvertering af tider, den siger bare, hvad slags tid dette er, så andre metoder (som ToLocalTime) ved, hvad de skal gøre ...
Hvis du vil have den lokale tid i en variabel, kan det være sådan her:
DateTime localTime = eventTimeStamp.ToLocalTime();
Og jeg gætter på, at det vil fungere uden at indstille den slags. Hvis ikke, ved du, hvordan du indstiller typen ...