Первым шагом будет получение значений времени, хранящихся в вашей базе данных, в структуры .NET DateTime
.
Если вы сохранили их как значения SQL-DateTime в базе данных, вы можете получить их непосредственно как DateTime
. Это будет выглядеть примерно так:
SQLCommand getTimeCommand = new SQLCommand("SELECT time FROM table", dbConnection);
SQLDataReader myReader = getTimeCommand.ExecuteReader();
while (myReader.Read())
{
DateTime time = myReader.GetDateTime(0);
}
myReader.Close();
Ваша реализация может отличаться, обратитесь к документации ADO.NET в библиотеке MSDN.
Если вы уже получили строку, представляющую время, вы можете проанализировать строку в DateTime
, используя статические методы
DateTime.Parse
или
DateTime.ParseExact
В вашем случае вам может понадобиться ParseExact
, который может быть предоставлен с форматной строкой, определяющей, как читать строку. Примеры следует найти в библиотеке MSDN.
Длительности в .NET хранятся внутри TimeSpan
структуры. Получить истекшее время между датами легко:
DateTime time1, time2; //filled with your timevalues from the db
TimeSpan elapsed = d2 - d1;
elapsed
теперь содержит промежуток времени между двумя DateTimes
. У структуры есть несколько членов для доступа к TimeSpan
. Загляните в MSDN-библиотеку, чтобы найти нужные.