Я могу получить часы / минуты / секунды разница между 2 DateTime.
Но я пытаюсь получить время общий между 2 datetime, но нет.
Пример:
public class Meeting
{
public DateTime Start { get; set; }
public DateTime End { get; set; }
}
Вот и добавлены времена.
var list = new List<Meeting>();
list.Add(
new Meeting
{
Start = DateTime.Parse("12/13/2018 09:00 AM"),
End = DateTime.Parse("12/13/2018 10:00 AM")
}
);
list.Add(
new Meeting
{
Start = DateTime.Parse("12/13/2018 09:45 AM"),
End = DateTime.Parse("12/13/2018 10:30 AM")
}
);
Итак, здесь я пытаюсь получить общее время между двумя списками.
Общее время - 15 Минуты, а Время - С 9:45 до 10:00.
Итак, любые предложения по получению времени С 9:45 до 10:00.
Что вы имеете в виду: я хочу получить количество времени, в течение которого даты двух объектов Meeting находятся в конфликте друг с другом?
эту ссылку лучше пометить как дублирующую для: stackoverflow.com/questions/13513932/…
@Svenmarim Нет, здесь не указаны диапазоны дат.
правда .. правда ..





Возможно, я неправильно понимаю ваш вопрос, но похоже, что вы хотите получить перекрывающийся временной интервал. Думаю, должно работать что-то вроде этого:
DateTime s1 = DateTime.Parse("12/13/2018 09:00 AM");
DateTime e1 = DateTime.Parse("12/13/2018 10:00 AM");
DateTime s2 = DateTime.Parse("12/13/2018 09:45 AM");
DateTime e2 = DateTime.Parse("12/13/2018 10:30 AM");
DateTime overlapStart = (s1 > s2 ? s1 : s2);
DateTime overlapEnd = (e1 < e2 ? e1 : e2);
TimeSpan overlappedTimeSpan
= (overlapStart < overlapEnd ? overlapEnd - overlapStart : TimeSpan.FromTicks(0));
Чтобы отклонить неперекрывающиеся диапазоны, вы можете добавить дополнительную проверку: if (overlapStart < overlapEnd) ... - или проверить, является ли overlappedTimeSpan отрицательным.
Все еще работаю над этим ... терпи меня.
@MatthewWatson - Думаю, я об этом позаботился.
@ rory.ap Я могу узнать разницу в минутах. Как получить общее / уникальное время с 9:45 до 10:00.
В моем ответе есть это. overlapStart выше - 9:45, а overlapEnd - 10:00.
Итак, чтобы подтвердить мое понимание - вы хотите найти
overlapмежду двумя периодами времени. Если это правильно, вам следует соответствующим образом скорректировать свой вопрос, чтобы избежать путаницы и помочь вам быстрее получить ответ.