"Buon giorno" means "good morning" whereas "Buona giornata" means "have a good day" .
Buona giornata is used to wish a good day as a time when people are busy doing things.
Buon giorno is used in the morning. Then we have "buon pomeriggio, buona sera, buonanotte".
As well as "buona giornata" we use "Buona serata" to wish a nice evening.