Detta kan fungera för 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());
Resonemanget skulle vara att dina localTime-variabler är inställda på exakt samma tidsstämpel som den i UTC, du säger bara att det ska tas som en lokal tid. Men den här inställningen som lokal tid gör ingen konvertering av tider, den säger bara vilken typ av tid detta är så att andra metoder (som ToLocalTime) vet vad de ska göra ...
Om du vill ha den lokala tiden i en variabel kan det vara så här:
DateTime localTime = eventTimeStamp.ToLocalTime();
Och jag antar att det kommer att fungera utan att ange typ. Om inte, vet du hur du ställer in typ ...