He has taught in our school for 30 years. 他在我们学校教书已有 30 年了。
My father has always gone to work by bike. 我父亲一向骑车上班。
句型结构
肯定句:have/has done
否定句:have/has not done
一般疑问句:Have/Has +主语+done+其它
特殊疑问句:特殊疑问词+have/has +主语+done+其它
例句
She has played the piano for two hours. She hasn’t played the piano for two hours. — Has she played the piano for two hours? — Yes, she has./ No, she hasn’t. How long has she played the piano?
Who has opened the door? 谁把门开了?(强调门现在依然还开着。) He lived in New York for eight years.他在纽约住过8年。(现在是否住未知) He has lived in New York for eight years.他在纽约住了8年。(还在住)
Where have you been? 你去过哪里了? The train has left.火车已经驶离了。 When did the train leave?火车什么时候驶离的?
标志词
already
already 意为“已经”通常用于肯定句中,可放在助动词之后,过去分词之前,也可以放在句末。
He has already had breakfast.
just
just 为“刚刚”表示行为刚刚过去,常放在助动词与过去分词之间。
My father has just finished his work.
ever
ever 意为“曾经”用于疑问句或否定句中,放在助动词与过去分词之间。
Have you ever visited the Great Wall?
yet
用在疑问句中意为“已经”,用在否定句中意为“还”,常放在句末。
— Have you watched the movie yet? — No. I haven’t watched it yet.
never
never 意为“从来没有”多放在助动词与过去分词之间,常与 before 连用。
I have never been to such a beautiful place before.
before
before 意为“以前”指过去不确定的某个时间,总是放在句末,不受句型的限制
I haven’t been to Beijing before.
since 和 for
since + 过去时间点 / 过去时的从句。
Helen has lived in New York since 2015. My brother has learned about 500 English words since he was five years old.
for + 一段时间,其时间状语常用 how long 提问。
— How long have you cleaned your room? — I have cleaned it for about two hours.
since + 一段时间 + ago=for + 一段时间
Jack has played basketball for three years( since three years ago).
The movie has already begun for ten minutes.(错误) The movie has already begun. (正确) The movie has already been on for ten minutes.(正确)
在否定句中瞬间性动词可与一段时间连用
I haven’t bought anything for one month.
延续性动词和非延续性动词的替换与一段时间连用(肯定句)
口诀: 借买离开死来到, 开始加入患感冒, 打开关上又担心, 回来结婚睡着了。
口诀解释
1、借:borrow—keep Borrow不具有延续性,但可用keep替换,因为keep本身的意思表示“保存”,它具有延续性。如:I have borrowed the book for two days. 这本书我借了两天了。(错误,改为kept) 2、买:buy—have Buy不具有延续性,但have表示“有”,这是一种状态,当然就有延续性。如:He has bought this bike for half a year.这辆自行车买了有半年了。(错误,改为had) 3、离开:leave—be away Leave不具有延续性,但be是表状态的词,所有表状态的词都具有延续性。如:He has left here since last year. 他自从去年就离开这儿了。(错误,改为been away) 4、死:die—be dead Die是瞬间性动词,马上发生也马上结束了,“死”这个动作不可能持续好长一段时间,但be dead表示“是死的”,自然就能持续了。如:His grandpa has died for two years. 他爷爷去逝两年了。(错误,改为been dead) 5、来:come (to)—be (in/at) 表示来到城市、国家等大地方,就用be in,如果是来到一个小地方,介词就用at。如:(1)He has come here for 5 days. 他来这儿五天了。(错误,改为been)(2)He has come to Beijing for 5 days. 他来北京五天了。(错误,改为been in) 6、到(指“到达):arrive/reach—be (in/at) Arrive是不及物动词,reach是及物动词。表示来到国家、城市等大地方,就用be in,如果是来到一个小地方,介词就用at。如:(1)He has arrived here for ten minutes. 他已经到这儿十分钟了(错误,改为been(2)He has reached Chengdu for two days.他已经到达成都两天了(错误,改为been in) 7、开始:begin/start—be on Be on本身的意思是“在进行”,所以具有延续性。如: The meeting has begun for twenty minutes.会议已经开始半个小时了。(错误,改为been on) 8、加入:join/take part in—be in Join是加入某个组织,人群,take part in 是参加某个活动,都不具有延续性,但be in表示“是在某人组织或活动中”,自然就有延续性。His father has joined the Party since twenty years ago.他爸爸自从20年前就入党了(错误,改为been in) 9、患感冒:catch a cold—have a cold Catch本身的意思是抓住,不能延续,但have表示“有”,能延续。如:I have caught a cold since last Friday. 我自从上周五就感冒了。(错误,改为had) 10、打开:open—be open Open这个词可以作动词,表示“打开”,但也可以作形容词,意思是“开着的”,因此,be open表示“是开着的”,具有延续性。如:、The shop has opened since 8:00. 这家商店自从8点钟就开门了。(错误,改为open) 11、关上:close—be closed Closed是形容词,意思是“关着的”,所以be closed意思是“是关着的”,当然就具有延续性了。如:The store has closed since last month.这家商店自从上个月就关门了。(错误,改为been closed) 12、担心:worry—be worried Worry是动词,意思是“担心”,但worried可以用形容词是,意思是“担心的”。如:She has worried about her son since then.从那以后,她就一直担心她的儿子(错,改为been worried) 13、回来:come back/go back/return—be back Come back是“回来”,go back是“回去”,return是“回(来,去)”,都不具有延续性,但be back中的be是表状态,所以就具有延续性。如:He has come back for two days. 他已经回来两天了。(错误,改为been) 14、结婚:marry/get married—be married (to) Marry是及物动词,意思是“和……结婚”,married是“结了婚的,已婚的”,是一个形容词,但get married中的get却是一个瞬间性动词。如:(1)He has married Mary for two years. 他和玛丽结婚两年了。(错误,改为been married to)(2)He has got married for two years.他结婚两年了(错误,改got为been) 15、睡着:fall asleep—be asleep Fall asleep中的fall本意是“落下”,是马上发生也马上结束的动作,不具有延续性。如:The baby has fallen asleep since 8:00. 宝宝自从八点钟就睡着了。(错误,改为been)
见短暂性动词与延续性动词的转换(补充归纳)
begin(start turn on turn off)→be on die →be dead leave →be away(from) go out →be out fall ill(sick,asleep)→be ill(sick, asleep) join →be in或 be a member of get up→be up put on(穿上) →wear 或 be on finish →be over open →be open close →be closed go to school→be a student borrow →keep buy/get →have catch(a cold)→ have(a cold) get to know →know begin to study→study come to work→work move to → live in finish/end → be over come to → be in sit down → be seated marry → be married dress → be dressed