У нас есть календарь 4-5-4, в котором финансовый год начинается в воскресенье в феврале. В 2016 году этот первый день на самом деле в январе - это воскресенье, 31 января.Учитывая календарь 4-5-4 и дату, как определить, какая фискальная неделя, на которую выпадает дата?
Мне нужно написать функцию, которая принимает дату в качестве входных данных и возвращает фискальную неделю, такую, как 201552, который был бы 52-й фискальной недели финансового года 2015.
Я думаю, что первый шаг выясняя из начального дня финансового года ввода. Я знаю, что это всегда воскресенье, но откуда я узнаю, что это первое воскресенье в календаре Февраль или последнее воскресенье в календаре Январь?
(К счастью для этой функции, я могу проигнорировать случайную 53-я неделя, я могу просто вернуть 52-ю неделю в этом случае. Это потому, что (я сказал), что годы, имеющие 53 фискальных недели, не предсказуемы (в этой компании в любом случае) и определяются по прихоти человека.)
Любые предложения?
UPDATE:
Я был дан документ с FY календарями для нашей компании с 2005 финансового года через FY2017. Образец, который я вижу, таков:
- Если 1 февраля - понедельник, вторник или среда, то первый день FY - последнее воскресенье января.
- Если 1 февраля - четверг, пятница, суббота или воскресенье, то первый день FY - первое воскресенье февраля.
Я думаю, что это дает мне то, что мне нужно.
Какой язык? Какой код вы пробовали до сих пор? –
Я использую Excel VBA. Все, что у меня есть до сих пор, - это функция, которая принимает дату как входной сигнал и устанавливает переменные для года, месяца и дня месяца для этого ввода. Это еще не вопрос кода; сначала мне нужно выяснить, что попробовать. –
@GregLovern Пожалуйста, отредактируйте свой вопрос, чтобы уточнить и добавить детали, а не размещать как комментарии. Кроме того, добавьте язык программирования в качестве тега в вопросе.Этот тег используется средством автоматического форматирования кода в Stack Overflow. –