我正在覆蓋"1930-1940", "1940-1950", "1950-1960", "1960-1970", ...
這是用TimeSpan代表數十年的最佳方式嗎?
我想用一個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);
}
你爲什麼不只是代表他們作爲整數? – 2012-03-12 16:04:43
爲什麼日期時間_and_時間跨度?你需要的是N + 1 DateTime值。 – 2012-03-12 16:07:30
一個'TimeSpan'是簡單的量時間,沒有附加到任何時間點(10年的跨度就是這樣 - 可能是10的跨度一個世紀前或千年後)。 – Oded 2012-03-12 16:08:09