This code in a console program works fine
DateTime enteredDate = DateTime.Parse("2/2/2019 1:16:47 PM");
//change the time to 6pm
enteredDate = enteredDate.Date.Add(new TimeSpan(18, 00, 0));
Debug.WriteLine($"Entered date : {enteredDate}");
Debug.WriteLine($"FromFileTime: DateTime.FromFileTime(enteredDate.ToFileTime())}");
output is
Entered date : 2/2/2019 6:00:00 PM
FromFileTime: 2/2/2019 6:00:00 PM
When i set this time for an AD attribute like this
directoryEntry.Properties["accountExpires"].Value = Convert.ToString(enteredDate .ToFileTime());
it is writing the time part as 12:00:00 PM instead of 6pm. What am I doing wrong ?