[subject] + [verb] + [duration] [subject] + [verb] + [duration] + 的 + [object] [subject] + [verb] + [object] + [verb] + [duration]
A length of time goes after the verb. This is the one time expression that does, and it is what separates 三点 from 三个小时.
A time word says when and comes before the verb: 我三点睡觉. A duration says how long and comes after it: 我睡了三个小时.
A verb cannot carry both an object and a duration. Either repeat the verb, or slot the duration in front of the object with 的.
wǒ我xué学Zhōng wén中文Sān三Nián年 is wrong.睡觉, 上课, 开会 and the rest take the duration inside them.
Here the time phrase moves in front of the verb, because there is no action to measure.
多长时间 and 多久 both ask this. 几个小时 asks for a small number of hours.