'giorno' has the meaning of day restricted to 'a period of time'.
'giornata' has the meaning of 'giorno' TOGETHER with the meaning of:
activities that are done during 'giorno', OR events that happen.
Note: activities and events are realative to the person.
Examples:
1a) Buon giorno
1b) Buona giornata
(1b) is used for instance in the morning, after a short or long conversation, and is richer
in meaning than (1a). Nonetheless in (1a) the meaning of 'giorno' could be stretched to comprehend the added
meaning of 'giornata', so (1a) and (1b) are actually the same. Here the distinction is not so clear.
Example 2:
(Husband enters home, Wife is already there)
H) Ciao, sei a casa?
W1) Ti stavo aspettando, com'e` stata la tua giornata?
W2) Ti stavo aspettando, com'e` stato il tuo giorno?
The expression (W1) is often used when greeting somebody, but (W2) is NEVER used although
it is grammatically correct, as the meaning needed in such contexts is:
'what were the relevant events during your day',
and this meaning is carried along with 'giornata' and not with 'giorno'.
Similar situations happen between:
sera, serata,
notte, nottata,