次を試してみてください、これは時間が順番
var today = DateTime.UtcNow;
var bookedTimes = new[]
{
new DateRange(new DateTime(today.Year, today.Month, today.Day, 07, 00, 00),
new DateTime(today.Year, today.Month, today.Day, 09, 00, 00)),
new DateRange(new DateTime(today.Year, today.Month, today.Day, 09, 00, 00),
new DateTime(today.Year, today.Month, today.Day, 11, 00, 00)),
new DateRange(new DateTime(today.Year, today.Month, today.Day, 13, 00, 00),
new DateTime(today.Year, today.Month, today.Day, 14, 00, 00)),
new DateRange(new DateTime(today.Year, today.Month, today.Day, 18, 00, 00),
new DateTime(today.Year, today.Month, today.Day, 20, 00, 00)),
};
var freeTimes = new List<DateRange>();
for (var i = 0; i < bookedTimes.Length -1; i++)
{
var current = bookedTimes[i];
var next = bookedTimes[i + 1];
if (current.To != next.From)
{
var range = new DateRange(current.To, next.From);
freeTimes.Add(range);
}
}
foreach (var time in freeTimes)
{
Console.WriteLine($"From {time.From.ToShortTimeString()}, to: {time.To.ToShortTimeString()}");
}
// Outputs:
// From 11:00, to: 13:00
// From 14:00, to: 18:00
あなたは、あなたが欠けているかを知る必要があり、1時間差を有する値を見つけた場合、リストは、その後2時間の差をwithing流れるべき場合、かなりまっすぐ進む私には...見えます..いくつかのコードやショーを書き始めます私たちはあなたがあなた自身で試したものを、少なくともDateTime Structの中の 'Hour'プロパティで読み上げます。また、TimeSpanと同様にGoogle検索も行います。 – MethodMan
' 00:00 - > 07:00'と20:00~24:00? – TheLethalCoder
@ TheLethalCoderイベントは07:00以降に開始し、20:00以前に終了することができるため、その時間を探す必要はありません。 – Cezar