Найдите дни, часы, минуты или секунды между двумя датами в C#
В этом примере используется TimeSpan, чтобы найти дни, часы, минуты или секунды между двумя датами.
Когда пользователь меняет текст даты, программа выполняет следующий код.
// Если текст является датой, отображается
// прошедшее время между этим и сейчас.
private void txtDate_TextChanged(object sender, EventArgs e)
{
DateTime date;
if (DateTime.TryParse(txtDate.Text, out date))
{
txtParsed.Text = date.ToString();
TimeSpan elapsed = DateTime.Now - date;
txtDays.Text = elapsed.TotalDays.ToString();
txtHours.Text = elapsed.TotalHours.ToString();
txtMinutes.Text = elapsed.TotalMinutes.ToString();
txtSeconds.Text = elapsed.TotalSeconds.ToString();
}
else
{
txtParsed.Clear();
txtDays.Clear();
txtHours.Clear();
txtMinutes.Clear();
txtSeconds.Clear();
}
}
Программа использует TryParse, чтобы попытаться проанализировать текст. Если текст представляет действительную дату, программа вычитает эту дату из текущего, чтобы получить TimeSpan. Затем он отображает прошедшее время в общих днях, часах, минутах и секундах. Например, если две даты составляют 24 часа, в текстовых полях будут отображаться 1 день, 24 часа, 1440 минут и 86400 секунд.
