Someone will no doubt suggest a microcontroller for your project, as the simplest method.
If you don't go that route then you'll need to construct several circuits, including a 24-hour clock which is user-settable via push buttons, and provides a trigger-out signal.
In addition you'll need a 4-digit display, and a 15-second timer circuit which drives either a relay or transistor.
To handle the user-chosen time of 30-minutes to 4 hrs, will require (a) another timer circuit, and (b) a way to make this setting override the 24-hour clock.
For the 24-hour clock section, you may get by with a counter driven by an accurate frequency base (such as a crystal). Suppose you have 4 digits, and you set an increment of 10 seconds. It would (a) load 8640 as binary, (b) count down to 0, (c) send an enable pulse to your device, then (d) repeat.