楼上的说法不正确.楼主的原句是"我在那里呆了不到一个小时",意思中隐含"我已经不在那里了".而楼上用的完成时态表示动作持续进行,到说话的时刻仍未终止.楼上的那个句子意思是"我已经在那呆了不到一个小时了(隐含我此刻仍然在那里的意思)",跟楼主的意思有着一定的差距.最贴近的说法是:I stayed there for less than one hour.用过去时态表示动作发生在过去,而且动作已经结束.而stay这个词本身可以表示动作的持续,配合for less than one hour这个表示时间段的状语就能够完整的表达楼主的意思了.另外,句中的for是可以省略的,用一段时间"less than one hour"直接做状语,不影响意思的表达.但这只在少数动词中可以省略,如stay.所以建议楼主不要省略.