Simply, if you haven't had lunch you say good morning, after lunch you say good afternoon, and after dinner you say good evening, but don't tell anyone.
Αν δεν έχεις φάει γεύμα, λες καλημέρα. Μετά, λες καλησπέρα, και μετά το δείπνο λες καληνύχτα, αλλά κανένας δεν το λέει.