In that case, you need to record millis() at the start of your sleep, then have a loop that checks the sleep button, then checks whether millis() has increased by 32,400,000 since the start.
In that case, you need to record millis() at the start of your sleep, then have a loop that checks the sleep button, then checks whether millis() has increased by 32,400,000 since the start.