Boa noite. Tenho um problema complexo (pelo menos para mim) e acho que tem mais a ver com o algoritmo do que com o código. Quero fazer o seguinte: -Tenho uma tabela onde guardo a data de início e data de fim de um evento. Quero fazer uma função que faça o seguinte: dado um intervalo de datas (data de início e data de fim), percorre todos os eventos e devolve um array com todas as datas sem eventos. Note-se que podem existir eventos sobrepostos, ou seja, eventos que coincidem num determinado período como mostro no exemplo abaixo. Exemplo: Datas na tabela: Inicio: 2012-02-21 - Fim: 2012-02-26 Inicio: 2012-01-23 - Fim: 2012-01-31 Inicio: 2012-02-15 - Fim: 2012-02-23 Período pretendido (passado como parâmetro na função): Início: 2012-01-22 - Fim: 2012-02-28 O resultado seria: Início: 2012-01-22 - Fim: 2012-01-22 Início: 2012-02-01 - Fim: 2012-02-14 Início: 2012-02-27 - Fim: 2012-02-28 Espero que tenha dado para perceber. JCF