Kalimera is especially for the morning hours, but don't worry if you blurt it out later. No one will mind. You really do get an "A" for "Effort" in Greece, and any attempts are welcomed and encouraged.
You may combine it, or hear it combined, with "Yassas!" which is a respectful form of greeting by itself. "Yasou" is the more casual form, but if you're encountering a Greek granny, use "Yassas!" You can learn more about the fine distinctions on my Yasou page. There really is not an equivalent word for "Good Afternoon" in Greek, at least not one that is used as commonly as Kalimera. Kalispera is best for the evening, but you do hear it in the later afternoon. Greece in summer also has a generous concept of "afternoon" - it lasts until near sundown, which can be eight o'clock. So be sure to clearly define what is meant by "I'll come by in the afternoon" if you're arranging a meeting.
On the first day of the month, you will also sometimes hear the greeting "Kalimena" or "Kalo mena", meaning "Have a Happy Month!" or "Happy First of the Month!". That greeting probably dates from ancient times, when the first day of the month was observed as a mild holiday, somewhat like Sundays are in some places today. More on Kalimena
Book your Own Day Trips Around Athens
Greeting your hotel keeper in the morning? That's another great opportunity to say "Kalimera".