When I used to do contracts in my 20s I would wake up at about 8pm, go out to nightclubs, not drink, come home about 3am then work on code until 11 am and then talk to clients. I would then fall asleep around noon. It was really great because I was really fresh and happy when I went out clubbing and the most annoying part of my day, talking to clients, happened when I was about to fall asleep.
I usually wake up at around 4 pm, then spend the remainder of the day just hanging out, doing some chores and wasting time on the internet. In the evening I go out to dinner or a bar, and then hang out and play games with friends. I head home once the night is over - usually it is around midnight to 2 am. At this point I am usually bored of distraction, and entering the peak of my waking period. In the quiet solitude of the night, I find myself naturally gravitating into the Zone. On a good night, I can continue invincibly into the afternoon. At this point, I get any necessary email and administrative work out of the way, make sure my work is committed, and fall asleep.
If during a night session, I find myself falling out of the Zone, I simply just go to sleep early. However, this has the unfortunate side effect of shifting my schedule unpredictably for while.