I used to have this problem - it was seriously wrecking my life. I was tired all the time but somehow stayed up until 3AM. I would oversleep, miss work, perform poorly at work, be bitchy most of the time - also I ended up with some serious health problems.
This is how I "fixed" myself.
1.) Changed my work time to 7AM-4PM. I basically required myself to be awake early and during the day to live and pay the bills.
2.) I removed all distractions from where I slept, including TV, stereo, computer, cell phone, books etc. When I went to bed it was instant lights out - no chatting with the wife or anything else.
3.) I stopped eating after 6:00PM. If I HAD to have something I went for a glass of red wine and some popcorn with no butter/salt. NO sugar, no caffeine, no carbohydrates. Your body needs to be winding down by around 9:00PM. Without any extra energy I was getting sleepy by 8:30PM.
4.) I set every alarm in the house to go off at 9:00PM - this way I had to get up and go turn them off - which made me stop whatever I was doing. I then went into my bedroom and got right into bed, lights out. Generally I was able to fall asleep by 10:00PM after a few weeks. After a few months I was asleep by 9:15PM once my body got used to it.
5.) I set all my house alarms for 5:30AM - even ones on the other side of the house which forced me to get up and turn them off.
6.) Eat a big breakfast and start your day quickly - don't piddle around, go jogging if you need to. The sooner you start the sooner your body is burning off energy - you need to be running on empty when it's time for bed or you will never fall asleep!
This worked for me and I am a changed man because of it! A few nights a week I stay up late if I am working from home (I work IT and sometimes work late like tonight to upgrade systems when everyone is offline).
Good luck! You can do it!
NO PILLS!
-PR