// returns minute ranges from 0 to 24*60 static L parseBusinessHours(S s) { LS parts = nempties(tok_splitAtComma(s)); ret map(parts, part -> { LS l = splitAtMinus(part); IntRange r = intRange( parseHourAndOptionalMinutesToMinutes(first(l)), parseHourAndOptionalMinutesToMinutes(second(l))); if (r.end < r.start && r.start <= 12*60 && r.end < 12*60) r.end += 12*60; ret r; }); }