Ini mungkin cocok untuk Anda:
// 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());
Alasannya adalah bahwa variabel localTime Anda disetel ke stempel waktu yang persis sama dengan yang ada di UTC, Anda hanya mengatakan bahwa itu harus diambil sebagai waktu lokal. Tetapi pengaturan ini sebagai waktu lokal tidak melakukan konversi waktu, hanya mengatakan waktu seperti apa ini sehingga metode lain (seperti ToLocalTime) tahu apa yang harus dilakukan ...
Jika Anda ingin waktu lokal itu dalam sebuah variabel, maka mungkin seperti ini:
DateTime localTime = eventTimeStamp.ToLocalTime();
Dan saya kira itu akan berhasil tanpa mengatur jenisnya. Jika tidak, Anda tahu cara mengatur jenisnya ...