Найдите дни, часы, минуты или секунды между двумя датами в 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 секунд.