私は2つの日付範囲を持っているとしましょう。cでの時差交差#
これらの日付範囲は、時間範囲として表すことができます。
2つの期間に該当する期間を探したいとします。
Range 1: 2/1/2011 - 8/1/2011 (timespan of 6 months)
Range 2: 5/2/2011 - 5/28/2011 (timespan of 26 days)
ので、この場合には、交差点は、5月2日/ 2011から5/2011分の28になるが、範囲は、いずれかの方向に移動(または私はしたいと思います。その場合には全く交差しませんでした結果のタイムスパンは、長さ0)最後に
であることを、私は結果の交差点の期間の開始/終了のカレンダーの日付(だけでなく、ダニ/時間/日など)
をエレガントな方法がある必要がありますC#3.0でこれを行うには?
UPDATE
私はおそらく、
private static DateRange GetIntersectionRange(DateRange range1, DateRange range2) {
var iRange = new DateRange();
iRange.From = range1.From < range2.From ? range2.From : range1.From;
iRange.To = range1.To < range2.To ? range1.To : range2.To;
if (iRange.From > iRange.To) iRange = null;
return iRange;
}
範囲の開始日/終了日、またはその長さを知る必要がありますか? –