Seeing as this was asked on the newsgroups three times in less than two weeks, and seeing as I slapped together an MP for the first case that could apply to the others, I thought I should post it.
The trick is to set up a custom MonitorType that uses a scheduler to create the regular interval (e.g. "every 60 seconds"), use a scheduler filter to ensure that the data source module only collects information on certain days of the week at certain times (M-F 6am-7pm), then go through the normal MonitorType components (Data Source, Condition Detections, State results) and create a monitor that uses the custom monitor type.
See the MP linked below.
Update: Daniele Grandini wrote a great article about this here.