What worked for me was to stay up as late as I could so that I was really tired. When working the night shift (6pm-6am) I would usually be asleep by 7:30am or so, but on my swing day I would try to stay up until 7pm-9pm. (Sometimes I would break down and take a 30 minute nap, but I tried not to if I could, using whatever it took caffeine-wise.)
It usually helped if I gradually tried to stay up later in the mornings for the last couple days of the night shift just to get my body used to it.
I went to bed fairly early that night (usually before 9pm) to try to get a solid 8-9 hours of sleep that night. Occasionally took melatonin or a sleeping pill but not regularly.
I was usually beat after the first full 12 hour day shift but it reset my body clock pretty quickly. :)