Mmmm allora...

allora, supponiamo che tu hai un array con tutti i dati estratti dal database.

Io proseguirei così:

Aggiungerei i mesi a tutte le date e successivamente farei un ordinamento sull'array.