Cela pourrait fonctionner pour vous :
// 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());
Le raisonnement serait que vos variables localTime sont définies sur exactement le même horodatage que celui en UTC, vous dites simplement qu'il doit être pris comme heure locale. Mais ce paramètre en tant qu'heure locale ne convertit pas les heures, il indique simplement de quel type d'heure il s'agit afin que d'autres méthodes (comme ToLocalTime) sachent quoi faire ...
Si vous voulez cette heure locale dans une variable, cela pourrait ressembler à ceci :
DateTime localTime = eventTimeStamp.ToLocalTime();
Et je suppose que cela fonctionnera sans définir le genre. Sinon, vous savez comment définir le genre...