英语时态问题,求达人进

-where is your uncle's home
-In New York. But he lived in Boston for four years.

解释一下为什么不要用完成时? 请详细一点

以下是我的解释,请参考:
译文:“你叔叔的家在哪里?”
“在纽约,但是他(过去)在波士顿住过4年。”
能不能用完成时呢?首先可以先这样说,绝对不可以用“现在完成时(has lived)”,但是可以用“过去完成时(had lived)”。
不能用“现在完成时”的原因和能用“过去完成时”的原因:现在完成时表示的是从过去的某一个时间点可以一直延续到现在(甚至延续到未来),强调对现在造成的影响。分析句子意思,“在波士顿住4年”这4年时间只发生在过去, 不能延续到现在,因为现在已经住在“纽约”了,因此绝对不能用“现在完成时”。 同时,我们又说“在波士顿4年”这个时间段是“过去的过去(这样理解:这4年时间段是从4年开始的那一时间点到4年结束的那一时间点,而4年结束的时间点也在过去,于是整段时间就只能算是过去的过去)”,所以可以用“过去完成时”。综上,从“过去某一时间点可以延续到现在(甚至未来)的时间段”可用“现在完成时”,而“过去的过去”的时间段可用“过去完成时”,在这里请牢记,完成时都要有跨时间的“时间段”才行的。
再回到原句子,如果有四个选项A live;B lived;C have lived;D had lived 那么仍然应选B。根据以上分析,D也是可以的,只是选择题还讲究“择优”而选,B要比D“优”。因为根据语境、上下文并且结合说话习惯,回答者只是想说“但是他过去在波士顿住过4年”(即B选项的翻译)而并不是“但是他过去已经在波士顿住过4年”(即D选项的翻译)这个意思。
其实这道题我曾经也遇到过,与2006年重庆高考题单选31题极为相似。你的困惑应该是:“For + 一段时间”通常是用完成时,而这里却是过去时。其实,我们说这也只是一种样式,多数情况确实是要用完成时,但有时也因为具体的语境而变为其他时态。
以上是我的解释,也许并不完善,但希望你能认真看看,并试着去理解。我学习英语语法的感受就是要有自己的理解。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-12
如果用完成时说明he已经在Boston住了四年,并且现在还住在那里。
第2个回答  2011-03-12
where is your uncle's home
-In New York. But he lived in Boston for four years.
你叔叔家住在哪里
在纽约。但他住在波士顿呆了四年。

在波士顿呆了4年,已经呆了4年,当然是过去式了
第3个回答  2011-03-12
如果没有but ,就用现在完成时
but 表示意思转折,他叔叔过去不在纽约住 而是在波斯顿住了四年
用过去式,而live是延续动词,可以用一般过去式表状态
望采纳!
第4个回答  2011-03-12
呵呵,这没什么影响。也可以用过去完成式,he has lived in Boston for four years.
第5个回答  2011-03-12
如果用完成时表示,叔叔已经在在boston 住了4年,而现在还在不在boston 住了不知道
但题目说了叔叔现在住在new york,所以用过去式,还可以用过去完成式 he had lived in boston for four years.
live 是一个长系动词(不是瞬时动词),它后面可以加一段时间的