我可以得到2个DateTime之间的小时/分钟/秒差异。
但是我试图在2个日期时间之间获得 common 时间,但不是。
示例:
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")
}
);
因此,在这里,我尝试获取2个列表之间的公用时间。
常见时间为 15 分钟,时间为 9:45 AM至10:00 AM 。
因此,任何建议将时间从 9:45 AM设置为10:00 AM 。
答案 0 :(得分:2)
我可能会误解您的问题,但似乎您想获取重叠的时间间隔。我认为类似这样的方法应该起作用:
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));