Toto by vám mohlo fungovat:
// 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());
Důvodem by bylo, že vaše proměnné localTime jsou nastaveny na přesně stejnou časovou značku jako ta v UTC, jen řeknete, že by se to mělo brát jako místní čas. Ale toto nastavení jako místní čas neprovádí žádný převod časů, jen říká, o jaký druh času se jedná, aby ostatní metody (jako ToLocalTime) věděly, co mají dělat...
Pokud chcete tento místní čas v proměnné, pak by to mohlo být takto:
DateTime localTime = eventTimeStamp.ToLocalTime();
A předpokládám, že to půjde i bez nastavení druhu. Pokud ne, víte, jak nastavit druh ...