I worked nights for over 4 years in NYC before leaving. Two of those years requires me to be up two days a week after shift's end to watch my infant/toddler daughter while my wife worked so as not to have to pay for a full week of day care. A typical shift was 2000-0800, 2200-0600, 1200-0800, or 1900-0700.
I noticed several things.
First, I was good to go for about two hours after work, if I have a cup of coffee in me. I'm basically useless between the hours of 1000-0500 if I don't get a power nap.
Second, A shorter nap of maybe 45 minutes to an hour tops left me refreshed and able to function, but a 2-4 hour sleep leaves me in a fog and very lazy for several hours afterward.
On a day where I get to crash after work, such as when my daughter was in daycare, I would be devoid of energy untill about 1800 hours, and suddenly I would feel like a million bucks. This would last until about 0200, at which point I would hit a wall (figuratively).
On the days that I was free to sleep, I would wake up after 4 hours or so and hit the gym for some hard PT. I felt that this helped me cope, and was a good stress release as well.
If you want to be functional for the daytime as a priority, I would take any time you could to get sleep from 2000-2100 hours and on. Any time that you can spend overnights not being awake will help lessen the blow to your circadian rhythms. Try not to sleep from 1100 to 1600 hrs. A 2-3 hour nap before work if you're not on 24's and on a night shift will help. If you want to be a night owl, just get about 5-6 hours from late morning to mid afternoon, and touch that up with one to three hours at night, if possible.
Try to limit caffeine hits until you absolutely, positively need it.
Something else I've discovered, if you eat a bag or two of chips (or nuts if you don't eat junk)while driving home fatigued, it keeps you awake while you're doing it. No joke. If you finish the chips, however, watch out!