英语中现在完成进行时和现在完成时的区别?时间问题

现在完成进行时后面可以加since和for表时间,那现在完成时呢?
课本上有这样一句话:你去过一个娱乐公园没有?是的,我去过.我去年去的.
我是这样写的:Do you have ever been to an amusement?Yes,I have.I have been there last year.可是老师说是错的.说是什么现在完成时不能加什么时间的,我没听清楚,正好那个时候生病没去,现在完成时的内容完全没有学.这是怎么回事呢?而且我在辅导书里看到过一句话,它been后面的动词没有ing形式,应该是完成时才对,可是后面好象加了since或者for表时间了啊?!怎么回事?????我给分哦
我打错了.我写的应该是have you ever been to an amusement..其他都一样..

上面那句是写错了,是因为现在完成时是现在时的范畴,一定不能与过去时的时间状语连用,它的时间状语通常是比较含糊的词,如:already\yet等。
现在完成时有三种常见的表达方式:一、动作发生在过去,对现在造成的影响;二、谈论经历,曾经做过某事。也就是上面例句所表达的;三、动作发生的过去一直持续到现在,可能是刚刚结束,也可能还在进行。这时候要用since或者for表示的时间段了,只是动词不能用短暂性的。
而现在完成进行时恰恰表达的是现在完成时的第三种用法,是可以互换的。也就是说这个意思完全可以用完成时表达,所以我们学基本时态时就没有它。
只知道这些,希望对你有帮助!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-06-22
last year 是表示过去时的时间状语
表完成时的时间状语是for +时间段或since +时间段
last year 是时间点所以应用since last year.
第2个回答  2007-06-22
现在完成时是没有具体的时间的,是因为现在完成时具体指以前曾经做过的事所对现在造成的影响,肯定句中可以加ever,而否定句中可以加yet.而你所给的例句应该这样改:
Do you have ever been to an amusement?Yes,I have.I got there last year."got"是过去式,如果要指出具体时间是,就可以用过去式而不是完成时,因为过去式可以加具体时间.since 和for是指过一直在做某事,要加延长性动词的过去分词形式(其实完成时都要用延长性动词)例如kept,been,had,waited等,since和for可以加上一段时间,来表示做那动作所花了的时间,例如a hour ,two years,three minutes等等,但不能加last year,因为它是指具体的时间,而不是一段时间.
相似回答