在c#中 我给你一个变量 listdatetime 里面的时间 可能是连续的 也可能是断断续续的我要你写一个方法 给我返回DictionaryDateTimeDateTime比如2023-04-24T1330442023-04-24T1330452023-04-24T133046如果是这样的连续的 你只给我返回开始时间跟结束时间 2023-04-24T133044 跟 2023-04-24T
public Dictionary<DateTime, DateTime> GetDateTimeRanges(List<DateTime> datetimes)
{
Dictionary<DateTime, DateTime> result = new Dictionary<DateTime, DateTime>();
if (datetimes == null || datetimes.Count == 0)
{
result.Add(DateTime.Now, DateTime.Now);
return result;
}
DateTime start = datetimes[0];
DateTime end = datetimes[0];
for (int i = 1; i < datetimes.Count; i++)
{
TimeSpan diff = datetimes[i] - end;
if (diff.TotalSeconds == 1)
{
end = datetimes[i];
}
else if (diff.TotalSeconds > 1)
{
result.Add(start, end);
start = datetimes[i];
end = datetimes[i];
}
}
result.Add(start, end);
return result;
}
``
原文地址: https://www.cveoy.top/t/topic/fi7f 著作权归作者所有。请勿转载和采集!