Я храню в базе данных, дни недели в строке (тип set) - от 1 до 7 (ПН - ВС).
У записей может быть выбрано хоть все дни, или некоторые выборочно.
Подскажите пожалуйста, как мне учитывая текущий день недели выбрать самый скорый и получить его дату?
Вот пример: запись содержит "1,2" - то есть ПН, ВТ, сегодня пятница, предположим. Значит мне нужно получить дату ближайшего понедельника.
Я сделал конструкцию, но она как то сильно нагружена, может возможно сделать проще.
1. Найти позицию текущего дня в массиве дней из 7ми элементов (напр., среда - 3)
2. Найти позицию требуемого (напр., понедельник - 1)
3. Вычислить разницу (напр., 7 - 3= 4)
4. Получить текущую дату + (n + 1) дней (напр., текущую дату + (4 + 1) дня)
5. Profit