For me it depends on what I'm working on. And it all boils down to inspiration. The more inspired I am, the more hours I can go straight doing productive coding.
I've had projects so interesting that I've spent 12 or even more hours a day for a few days straight. Every time I finish something I just want to continue with the next one or find a way to improve the previous day's work. Of course, this is not continuous work. I take breaks some times 10 or 15 minutes, other times 1 or 2 hours and then go back to work.
Then sometimes I get projects that are so repetitive (a bunch of reports, different views of the same data) that after 3 or 4 hours I just want to go home.
But normally on a regular project in a regular day, 8 hours of coding is too much.