In the US, these are the common times to use each (in my opinion):
Good afternoon: Usually between about noon to 5pm. In Latin America, they consider afternoon much later than we do.
Good evening: Any time after 5pm or so. This is somewhat formal. You'd hear it in a nice restaurant or in a business setting. I wouldn't use it with close friends.
Good night: This is usually only used to say goodbye to someone when it is after 5 pm or so. We would never say "Good night, how was your day?", for example.