One bodypart = 25-30 min MAX. I only do one bodypart per day, unless it's something like tri's and hams which I put together. 2 bodyparts should never take more than an hour, unless you talk too much.
you can get a good workout in 30 minutes if your only doing one body part, and your hitting it HARD with as heavy weight as you can possibly handle in the 5-10 rep range, going to the point of failure and beyond, with 2 or 3 of those intense working sets and 2 or 3 warm up sets and maybe one or two "pump and burn" sets at the end. but most people will need more than 30 minutes to tax their muscles. probably because they arent going in with a set game plan and getting shit done, but theres nothign wrong with an hour or two hour long workout. just know that with increased volume recovery takes a toll and its wise not to mix failure training with volume training. so if your gonna workout for 2 hours never go to failure, and if your working out 30 mins then just do a small amount of sets and all out to failure and beyond.