Если кто-то сказал, что что-то происходит в первую или последнюю неделю месяца, как бы вы определили этот диапазон?
Фон
Я работаю над библиотекой, которая должна обрабатывать такие вещи интуитивным способом, но моя интуиция не претендует ни на один случай, ни на другой.
Я могу заставить его выбрать другое поведение, но по-прежнему нужно хорошее значение по умолчанию.
Для конкретного примера я просто хочу выбрать случайный месяц: июль 2008 г.
s m t w r f s
--------------------
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
(Примечание. Предполагаю, что неделя начинается с воскресенья, но вопрос может быть задан и в понедельник)
Какой диапазон занимает первую неделю месяца?
- 29 июня - 5 июля - неделя, которая включает первый
- 6 - 12 июля - первая неделя, которая проходит весь месяц.
Вторая неделя - это всего лишь 7 дней после первого правильного?
Какой промежуток занимает последняя неделя месяца?
- 27 июля - 2 августа - то же самое, но в последний день
- 20 - 26 июля - то же, но на прошлой неделе
Не комментарии wiki приветствуются