Я хочу установить значение «По состоянию на» для записи, отражающей последний доступный рабочий час.
Например, предположим, что мы определяем рабочие часы как Пн-Пт, с 9:00 до 17:00. Если я вызову это в четверг в 16:00, "По состоянию на" должно быть в четверг в 16:00; однако, если я вызываю это в 1:30 утра понедельника, «По состоянию на» должно быть 17:00 в предыдущую пятницу.
Я могу пройти через это с кучей логики, но мне кажется, что это будет «особенность» какого-то класса, где работа в значительной степени уже сделана, или есть простой способ сделать это.
Здесь? Или я застрял в написании какого-то одиозного алгоритма?