One of the weaker portions of OH right now (but it’s getting better over time) is setting schedules like this. In addition to the alarm clock examples rossko57 points out I recommend looking at the JavaScript or Python versions of [Deprecated] Design Pattern: Time Of Day. Either of these allow you to define a series of DateTime Items with Item metadata and it will drive a TimeOfDay Item. you can have a different set of times of day for different day types as defined in Ephemeris (e.g. a different start time for MORNING on weekends and holidays, weekdays have an extra LUNCH time of day, etc). Then you can trigger a rule with something like Item TimeOfDay changed to MORNING
to trigger your heater and what time that happens will differ based on the times of day.
If you do go down the alarm clock routes, be aware that the biggest problem those example overcome is the lack of a way to enter a time into a sitemap or HABPanel. In OH 3 there is now a way to configure a Date Time picker or text entry field to set the time for the alarm. See OH 3 Examples: How to boot strap the state of an Item (look at the full thread for other ideas). So it’s no longer required to create a bunch of separate Items (one for seconds, another for minutes, and so on) to define a single date time. The TimeOfDay rules will show how to advance a date time to today to set a timer using it.
If you are using the Android app, you can configure it to push your Android alarm time to an Item in openHAB. you could use that to set a timer to start the heater.
Generally a polling approach like that would be used as a last resort. It’s almost always better to use events and timers.