Это лучший способ представить десятилетия с помощью TimeSpan?

Я делаю график, который охватывает "1930-1940", "1940-1950", "1950-1960", "1960-1970", ...

Я хочу представить это с помощью DateTimeи Timespan, но я не совсем уверен, как сделать TimeSpan, и мне трудно проверить правильность моих временных интервалов.

Это то, как я должен использовать TimeSpan, или это перекрывается? Если это перекрывается, то как я могу это исправить?

List<DateTime> list1 = new List<DateTime>();
List<TimeSpan> list2 = new List<TimeSpan>();

int startYearInt = 1930;

int times = 0;
const int intervalSize = 10;
for (int i = startYearInt; i < 2020; i += intervalSize)
{
    DateTime sYear = new DateTime(startYearInt + (intervalSize * times++), 1, 1);
    TimeSpan period = (sYear.AddYears(intervalSize)) - sYear;

    list1.Add(sYear);
    list2.Add(period); // <<-- Don't know if if this is correct?
}

РЕДАКТИРОВАТЬ: У меня это тоже есть. И если Мой временной промежуток слишком мал или длится долго, это может создать некоторые проблемы.

public bool IsInsidePeriod(DateTime dt)
{
    return dt >= FromYearDateTime && dt < FromYearDateTime.Add(periodTimeSpan);
}
6
задан radbyx 12 March 2012 в 16:14
поделиться