I've usually been told just to say “bonjour” in French when in English one would want to emphasize that it is early and you are greeting them in the morning, and would therefore say “good morning”. Given the legitimacy of phrases like “bonne après-midi” which does emphasize the time of day, is there a way to convey the meaning of something like “good morning” in French, or must one just use the generic “good day”?

Bonjour and bonsoir are terms that are used as salutations when you arrive in a place, or meet someone. Those are the only two alternatives that I can think of, and have no variant for morning or middle of the night.

Bonne matinée, bonne journée, bon après-midi (or bonne après-midi), bonne soirée, bonne nuit are salutations that you use upon departing. There is a much larger gamut, and you can create new ones without problem (bonne fin d'après-midi to someone with whom you spent the first two hours of the afternoon, say).

Bonjour usually when you meet someone for the first time in the day. And also Bonne journée which is rather used when you leave someone during the day and often used in sentence like “Je vous souhaite une bonne journée”, or “Passe une bonne journée”

Bonne après-midi, Bonne soirée is also used when leaving people. There is no term to introduce oneself in the afternoon, but you can use Bonsoir in the evening instead of Bonjour.

I would use Bonjour at any time of day when I greet someone; sometimes Bonne journée in the morning when there's still a full day ahead (and if I actually mean the person to have a good day). Bon matin exists too, but it may be unusual depending on where.