For an unknown reason, when I read a date from the response of execute reader I obtain a date that has 000 before the actual milliseconds. So for example in the database I have 2017-04-04 12:12:12.123455 but when I display in C# I have 2017-04-04 11:12:12.000123
while (dr.Read())
{
lst.Add(Convert.ToDateTime(dr[i]).ToString("yyyy-MM-dd HH:mm:ss.ffffff"));
}