se l'intervallo d'orario è associato a un'utenza lo metterei nel db (se ne hai più d'uno con una tabella a sè, altrimenti bastano un paio di campi), quindi:
CASO A:
Tabella unica "ristoranti":
id, nome, ora apertura, ora chiusura
CASO B:
Due tabelle: "ristoranti" e "orari":
ristorante: id, nome
orari: id_ristorante, ora apertura, ora chiusura
A questo punto "prelevi" dal db gli orari (in entrambi i casi) e generi quelli intermedi con un semplice ciclo che poi userai per popolare un SELECT suppongo