get someone to wake you up at the time you want to be getting up, don't let yourself sleep in the afternoon, and go to bed at a time suitable for the time you want to be getting up + a bit for the sleep you've presumably missed the night before. not a great day but sorts you out fairly quickly, or you could try making yourself get up 10-15 minutes earlier each day and letting yourself have less sleep in the afternoons but its hard.
I've fallen into a habit over the past term or so of college of staying up later on the weekends, not being able to get to bed early enough to not be tired for college on monday, coming home in the afternoon and napping for a few hours, then not being tired at bedtime, so being tired the next day, having to have another nap etc.... and by weds/thurs I'm fed up with the whole thing, so I don't let myself nap, but just try to get to bed early enough to get a good nights sleep straight through til morning.