It seems to be a silly question but I was puzzled when somebody bid me good night, when I was going to sleep at 1:00 PM. If somebody goes to sleep in the afternoon, is it correct to bid him "good night"? I think this is wrong.
It's a bit odd. I would have expected to hear "have a nice nap", as someone who's going to sleep at 1:00 pm is probably only going to sleep for an hour or two.
If you planned to sleep for seven or eight hours, starting at 1:00 p.m., that's longer than a nap. I guess in that case "sleep well" (or "rest well", or "sleep tight", if you prefer) would be more appropriate. "Sweet dreams" would technically work, but it's not usually used except with people you are very familiar with (children, romantic partners, family, etc.). You could also use "sleep well" at night — it's not restricted to napping or sleeping for long periods during the day.
Also, you can use "good night" for situations other than going to sleep. I often hear it used when people go their separate ways after spending some time at night together, they say "good night" as they are parting.
I doubt you can find an expression which could cover an afternoon nap (of any length) and be similar to "good night".
Although it's true that, as FrustratedWithFormsD correctly pointed out, "good night" may be used for reasons other than wishing "a good night's sleep", it is also true that normally people sleep at night and for this reason we have a specific expression which also covers this activity.
Personally, I would go with "sleep well or "have a nice nap" (to my ear, "sleep tight" sounds more suitable for a longer sleeping period).
"Good night" in that situation is correct usage in the US.
Because most people don't go to sleep when the sun sets, instead going to sleep hours later (or near sunrise for college students..), the phrase "good night" has a colloquial meaning more along the lines of "have a good sleep", but it is shorter and easier to say.
It's used in informal settings regardless of the time of day, and mostly regardless of the length of sleep, if you plan on sleeping for more than around an hour.
I wouldn't find fault with good night. The relevance of where the sun is in the sky has dwindled somewhat with our recent globalization. Furthermore, the situation could involve near-polar timezones or perhaps speaking (in English, of course) with someone in a place like China, which has a single timezone despite covering a large amount of longitude.
But if you like, here are some alternatives:
Have a nice nap/rest/sleep/snooze.
The connotation of good night with sleep is out of usage. It just is a shortened form of "May you have a good night." So if someone were to sleep at 1 PM, the parting phrase could be
Good afternoon, have a nice nap.
The issue of how the person is about to spend his/her afternoon does not arise at all.
"Nice Siesta!" maybe. If siesta fits the context.
[more: http://en.wikipedia.org/wiki/Siesta ]
I'm an Australian and as such am known to play with words and phrases. I find going to sleep at any time would be worthy of a "goodnight" as a playful aknowledgement, as well as 2 or more people going their separate ways. Still, two people sleeping together may say goodnight to each other as they both sleep in their respectrive head/body. This is often shortened to goonight (no 'D'').