There are several ways you could accomplish this, and the “best” one depends on how you are planning to use it. Would you change the schedule frequently, or do you want to “set-and-forget”? In the latter case, a few cron-based rules would probably be easiest. In the former case, there could be marketplace widgets that might suit your needs, I know there’s a “Timeline picker” that could work, but haven’t used it myself so not sure of what capabilities it offers.
Edit: Not a marketplace widget it seems, but a tutorial at least Timeline picker to setup heating, light and so on