【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《现在完成时》,欢迎阅读!
现在完成时
现在完成时由助动词have或has加动词的过去分词构成。第三人称单数用has,其他人称用have。其否定式是在have或has后面加not,疑问式直接将have或has调到主语前面。
现在完成时主要用于表示过去动作的现在结果。一般相当于汉语中有时间状语“„„以来”、“已经”等,或动词后接助词“了”的那种时态。其用法可以分为结束性和非结束性两种。
⑴结束性用法:这种用法说明一个动作在过去发生,在过去结束,但不谈及何时。他所表示的是动作完成之后的现在状态。如:
I have read the novel. →我已经读过这本小说了。 He has been to Beijing three times. →他已经到北京去过三次了。 上述句子没有告诉我们,这些结束了的过去动作发生在何时,我们只知道这些动作发生在过去的某一时刻。
注意:在结束性现在完成时的句子中不能加确切表示过去时间(纯过去时间)的状语。如不可以说:
I have visited the exhibition last week. (╳) (last week是纯过去时间)
“Recently”和“lately”等词既表示过去时间,又和现在有关联,所以这些词既可以和一般过去式连用,又可以和结束性的现在完成时连用。
有些词或词组所表示的时间横跨过去、现在和将来,即到现在为止的一段时间,这些词或词组可以和结束性现在完成时连用。
I have read the text twice today. I have met Mary this afternoon.
(说话时是下午,否则应用一般过去时)
当“now”作“at last” 解时,也可以用于结束性的现在完成时句子中。如:
I have seen the film now. →我终于看了这部电影。 根据上述所言,说“某人写了一本小说”,根据不同的情况可以有以下几种说法。
去年他写过一本书。→He wrote a novel last year.
(last year表示的是纯过去时间,所以用一般过去时) 他已经写了一本小说。→He has written a novel.
(句中没有表示过去时间的状语,所以用现在完成时)
他终于写了一本小说。→He has written a novel now. (now作“终于”解,所以用现在完成时)
他今年写过一本小说。→He wrote a novel this year.
(本句中的this year只表示今年已经过去的那部分时间,所以用一般过去时。) 他今年已经写了一本小说。
→He has written a novel this year.
(本句中的this year时横跨过去、现在到未来的时间状语,所以用现在完成时。) 一般过去时和现在完成时都可以用来表达已经结束了的动作。那么这两种不同时态在含义上又有什么不同呢?他们之间的不同是:
用一般过去时,我们所注重的是动作发生在过去,并且已在过去结束,与现在无关。用现在完成时,则表示过去动作的现在结果和对现在的影响。
He went to Beijing last year. →去年他去过北京。
(只表达他去过北京这一过去事实,至于现在他是否在北京,则不得而知。)
She has gone to Beijing. →她(已经)到北京去了。(“去”的动作已发生在过去,但本句强调的是过去动作对现在的影响,即它现在或在路上,或已经到达北京,肯定不在这里。)
I had a very busy day today. →我今天整整忙了一天。(讲这句话时,“我”所想到的是今天一天我所做过的事情,“你”可能接着就问“我”今天都忙些什么。另外,现在已经是晚上了,不会再有其他的活动了。) I have had a very busy day today. →今天一整天我忙的真够呛。 (讲这话时,“我”所要强调的事,今天忙了一天,现在很累了。如果“你”对“我”很关心的话,“你”可能会让“我”好好休息一下。) 此外还要注意,结束性现在完成时表达的是过去动作的现在结果和对现在的影响,所以,只有当主语是现在还活着的人或现在还存在的物时,才能使用这个时态。如:
Her father, who died fifteen years ago, has been very kind to her.( ╳) →Her father, who died fifteen years ago, was very kind to her. 但如果她父亲仍然健在,就可以说:
Her father has been very kind to her.
⑵非结束性用法:这种用法表示一个动作在过去开始发生,至今尚未结束,讲话时这个动作仍在继续。如:
He have lived in Shanghai since 1988. →自从1988年以来,他一直生活在上海。 He have lived in Shanghai for 22 years. →他在上海生活已有22年了。
(上述两句话所表达的意思是:自1988年或22年前起,他开始来上海生活,至今他仍生活在上海。)
结束性现在完成时的句子中不能有表示纯过去的时间状语。同样,非结束性现在完成时的句子中也不能有表示纯过去时间的状语。但是,在非结束性现在完成时的句子中,一定要有个能精确或大概地表明动作延续时间之长短的时间状语。如果用since后面加一个过去的确定时间,或不确定时间,或加一个过去动作来表示,句子所强调的是动作开始的时间。如果用for后面加上一段时间表示,句子所强调的是动作延续的时间长度。
She has been in Shanghai since 1992. (since she graduated from Shanghai Jiaotong University, since her marriage, etc)
→自1992年起(自她从上海交大毕业以来、自她结婚以来,等等)她一直在上海。
(在表达“她现在仍在上海”这一事实的同时,句子所强调的是“从什么时候开始她在上海”。)
She has been in Shanghai for about eighteen years. (for several years, for some time now, etc.)
→她已在上海大约18年了(几年了、一些时候了,等等)。(在表达她现在仍在上海这一事实的同时,句子所强调的是她在上海的时间长度。) 还可以用“now”表示“至今”、“到现在为止”。如:
She has been in Shanghai for about eighteen years now. →至今她在上海大约已有18年了。 如果用结束性用法,意思就完全不同了。如:
She has been in Shanghai.
→她曾在上海呆过。(现在不在上海)
Mr. Smith has been out on an errand for nearly a month. →史密斯先生出差已将近一个月了。(有表示时间长度的时间状语,因此是非结束性用法。他至今未归)
Mr. Smith has been out on an errand. →史密斯先生出过差。(没有表示时间长度的时间状语,因此是结束性用法。人已回来了)
Mr. Smith has lived in Shanghai since 1990. →1990年以来,史密斯先生一直住在上海。 Mr. Smith has lived in Shanghai. →史密斯先生在上海住过。(已经离开上海) 同样是现在完成时,可以有不同,甚至完全相反的意思。怎样加以区别呢?“She has been in Shanghai.”表示“她现在已不在上海”,而“She has been in Shanghai for about eighteen years.”表示“她现在仍在上海”。这两个句子的时态完全一样,进行区别时,关键要看句中有没有表示时间长度的时间状语。在现在完成时(或其他完成时)的句子中,如果有表示时间长度的时间状语,就可以断定它是非结束性用法。如果没有表示时间长度的时间状语,就是结束性用法。有了这一条规则,问题就简单了。“She has been in Shanghai for about eighteen years.”句中有“for about eighteen years”这一表示时间长度的时间状语,所以该句是非结束性用法。也就是说,这句话的含义是:“她现在仍在上海”。“She has been in Shanghai.”句子没有表示时间长度的时间状语,所以该句是结束性用法。也就是说,这句话的含义是:“她现在已不在上海”。
以上讲的是在绝大多数情况下都适用的原则,但也有例外。当从上下文中可以清楚看出是结束性用法而不是非结束性用法时,表示时间长度的时间状语也可以用于结束性现在完成时的句子中。如:
He lives in Shanghai permanently now—but he has been in Shenzhen for about ten years.
→他现在常住上海,但他在深圳住过大约10年。(句中虽然有for about ten years这一表示时间长度的时间状语,但因上半句已明确告诉我们:他现在常住上海,所以不可能产生将本句当做非结束性用法的误解。)
上述判断现在完成时的句子式结束性用法还是非结束性用法的规则,同样适用于现在完成进行时。
I have been preparing a report for the last two hours. →我前两个小时一直在准备一份报告。(句中有表示时间长度的时间状语for the last two hours,因此它是非结束性用法,也就是说“我”现在还在准备那份报告。) I have been preparing a report. →我一直在准备一份报告。
(句中没有表示时间长度的时间状语,所以是结束性用法,即我现在已不在准备报告了。)
本文来源:https://www.wddqxz.cn/7610d0826bd97f192279e9b6.html