Мне нужно ввести 2 даты, представляющие собой даты дат. Для этих дат мне нужно будет вернуть список сезонов, которые находятся между этими датами. Возможно ли иметь решение без необходимости итерации в течение всех дней между этим диапазоном?Получите сезоны в диапазоне дат
Например, для даты: 25/12/2014 - 17/7/2015
Результат будет: Зима, Весна, Лето
Времена год будет уже определен в постоянная значениях
Сезоны:
- Зима: 21 декабря - 20 марта
- весна: 21 марта - 20 июня
- Лето: 21 июня - 20 сентября
- осень: 21 сентября - 21 декабря
Например константы будут сохранены, как показано ниже. Основная проблема, которую я нахожу, что это с зимним сезоном, так как год будет увеличена на один и месяц будет начинаться с 1.
DateTimeOffset winterStart= new DateTimeOffset(year, 12, 21,0,0,0,new TimeSpan(0));
DateTimeOffset winterEnd = new DateTimeOffset(year, 03, 19, 0, 0, 0, new TimeSpan(0));
DateTimeOffset springStart = new DateTimeOffset(year, 03, 20,0,0,0,new TimeSpan(0));
DateTimeOffset springEnd = new DateTimeOffset(year, 06, 19, 0, 0, 0, new TimeSpan(0));
DateTimeOffset summerStart = new DateTimeOffset(year, 06, 20, 0, 0, 0, new TimeSpan(0));
DateTimeOffset summerEnd = new DateTimeOffset(year, 09, 21, 0, 0, 0, new TimeSpan(0));
DateTimeOffset autumStart = new DateTimeOffset(year, 09, 22, 0, 0, 0, new TimeSpan(0));
DateTimeOffset autumEnd = new DateTimeOffset(year, 12, 20, 0, 0, 0, new TimeSpan(0));
Какое определение даты зимой, весной, летом, осенью? –
Предполагая, что вы * знаете * начало и конец каждого сезона, вы можете просто проверить, находится ли начало и конец сезона X в пределах этого диапазона. – npinti
Я не знаю, кто повторно открыл этот вопрос, но это и [закрыто как дубликат для меня] (http://stackoverflow.com/q/1579587/447156) _actually_ выкапывает тот же вопрос, который получает сезоны на основе ' DateTime'. Другие вещи (расчет разницы дат, проверка того, какой сезон принадлежит этим различиям и т. Д.), Немного детализированы. Конечно, это только мое мнение, которое они обычно ошибаются. –