#datetime #c#-2.0
#дата и время #c #-2.0
Вопрос:
Мне нужно предсказать разницу в дате и времени в массиве ячеек…
пример:
С даты: 30.04.2011 По дату:30.05.2011
ячейка массива содержит даты с 30.04.2011 по 30.05.2011
Комментарии:
1. Что вы подразумеваете под «предсказать»? Как работает это предсказание?
2. если мы используем timespan, мы можем получить разницу по дате, по дням, по часам… но это возвращает значение int … но мне нужны промежуточные даты между ними в array[].
Ответ №1:
Вы можете использовать CalendarPeriodCollector этой библиотеки:
// ----------------------------------------------------------------------
public void CalendarPeriodCollectorSample()
{
CalendarPeriodCollector collector =
new CalendarPeriodCollector( new CalendarPeriodCollectorFilter(),
new TimeRange( new DateTime( 2011, 4, 30 ), new DateTime( 2011, 5, 30 ) ) );
collector.CollectDays();
foreach ( ITimePeriod period in collector.Periods )
{
Console.WriteLine( "Period: " period ); // all days between 04/30/2011 and 05/30/2011
}
} // CalendarPeriodCollectorSample
Вы также можете указать дни исключения (праздничные дни) или собрать периоды по часам.
Ответ №2:
Я думаю, вы ищете это:
DateTime start = Convert.ToDateTime("04/30/2011");
DateTime end = Convert.ToDateTime("05/30/2011");
List<DateTime> dateArray = new List<DateTime>();
while (end > start.AddDays(1))
{
end= end.AddDays(-1);
dateArray.Add(end);
}
DateTime[] array = dateArray.ToArray();