I think you have two options:
First create a stored procedure to check if the "last run" moment of the applicable jobs meets the requirements of the schedule. You can use this script as a starting point. If you are certain about the precise downtime period or only want it for just a specific period you can simplifiy the check, but that is up to you to decide. From the stored procedure you can start all jobs that have missed their schedule.
The two options I mentioned are about the way to execute the stored procedure:
1. make the stored procedure to auto start at SQL starts up with sp_procoption.
2. create a job to execute the procedure that runs after each downtime (when SQL Agent starts) or at a specific time if you are sure about the (or only care about specific) down time period.
** Don't mistake the ‘stupidity of the crowd’ for the ‘wisdom of the group’! **