2 I haven’t seen him since November.
11月以来我一直没看到过他。
Has he written since he left home?
他离开家后来过信吗?
We had a letter last week.We haven’t heard since.
上星期我们接到了一封信。从那以后没有收到过信。
I’ve since changed my mind.相当于:
I’ve changed my mind since then.
从那以后我改变了主意。
3现在完成时可以用于表示习惯性动作:
They’ve always answered my letters.
他们总是给我回信的。
I’ve never been late for work.
我上班从来没迟到过。
有时这些好像是连续的动作,而不是重复的动作:
Since my accident I have written with my left hand.
出了事故以后我一直用左手写字。
I’ve worn glasses since my childhood.
我从小就戴眼镜。
可以用for+一段时间来代替since+某一具体的时间:
I’ve used my left hand for a month now.
我使用左手已经一个月了。
I’ve worn glasses for ten years.
我戴眼镜已经十年了。(参见第186节。)
4还要注意以下这种句型:
This is the best wine I have ever drunk.
这是我喝过的最好的葡萄酒。
This is the worst book I have ever read.
这是我读过的最糟的书。
This is the easiest job I have ever had.
这是我干过的最容易的工作。
可以去掉这种结构中的ever,也不用形容词的最高级形式,而和 the first,the second等以及 the only连用:
It/This is the first time I have seen a mounted band.
这是我第一次看到骑兵乐队。
It is only the second time he has been in a canoe.
这才是他第二次乘独木舟。
This is the only book he has written.
这是他写的唯一的一本书。
?
[Amber demo]
186表示一个尚未完全过去的时期内延续的动作
?
表示时间的词 for,since(参见第 187节),all day/night/week, all my等life,all the time,always,lately,never,recently
A现在完成时用来表示一个从过去开始而且将继续到现在说话时间之后的动作:
He has been in the army for two years.
他在军队里已经服役两年了。(他还在军队里。)
I have smoked since I left sohool.
我离开中学以来一直抽烟。(我仍然抽烟。)
We have waited all day.
我们等了整整一天了。(现在仍在等。)
He has lived here all his life.
他一辈子都住在这里。(他还住这里。)
He has always worked for us.
他一直在为我们工作。(他现在仍在为我们工作。)
这种类型的动作可以用图解表示为:
{ewc MVIMAGE,MVIMAGE, !461336T1.bmp}
可以把上述例句和下面例句相比:
He was in the army for two years.
他在军队里呆了两年。(他现在不在军队里。)
I smoked for six months.
我抽了六个月烟。(然后戒了烟。)
He lived here all his life.
他一辈子都住在这里。(可能他现已去世。)
以上三个例句都与已完时段有关:
{ewc MVIMAGE,MVIMAGE, !461336T2.bmp}
所以要用一般过去时。(参见第117节B。)
B但是现在完成时有时可以用来表示一个开始于过去而正巧在说话时刻结束的动作:
Ann(on meeting someone):I haven’t seen you for ages.
安(遇见了某人):我很久没见到你了。(但现在看到了你)
This room hasn’t been cleaned for months.
这房间已有好几个月没有清扫了。(但我们现在正在打扫)
It has been very cold lately but it’s just beginning to get warmer.
近来天气一直很冷,但现在开始暖和了。
这种类型的动作可以用图解表示为:
{ewc MVIMAGE,MVIMAGE, !461337T1.bmp}
C 表示知道、相信和理解等的动词不能用于现在完成时,只有上文A中所述的情况例外:
I have known him for a long time.
我已经认识他很长时间了。
I have never believed their theories.
我从来就不信他们的理论。
因此,最近的动作即使未指明时间,也必须用一般过去时来表示:
Did you know that he was going to be married?
你知道他要结婚了吗?(这里不能用Have you known)
Hello!I didn’t know you were in London.How long have you been here?
你好!我本不知道你在伦敦。你在这里多久了?
但think和wonder可以按第185节D中的用法使用:
I have sometimes thought that I should have emigrated.
我有时想我早该移居国外。
I have often wondered why he didn’t marry her.
我常常纳闷他为什么不娶她。
D注意以下问答:
—How long have you been here?
—I’ve been here six months.
—你到这里多久了?
—我到这里已经六个月了。
{ewc MVIMAGE,MVIMAGE, !461337T2.bmp}
继这种回答之后,一般常用现在完成时对已提到的这一时期之内的动作进行提问。这一段时期可以认为是未终结的时间段,用下图来表示:
?
因为停留、存在等动作都还没有结束:
Have you been to the zoo/the theatre/the museums/the casino?
你去过动物园/戏院/博物馆/娱乐场吗?
Have you enrolled in a school/found a job/met many people?
你已经入学/找到工作/见许多人了吗?
如果未提到时间,回答也用同一时态,否则就要用一般过去时:
Yes,I have(been to the zoo etc.)/Yes,I went there last week.
对,我去过了。/对,我上周去了。
No,I haven’t enrolled yet./Yes,I enrolled on Monday/this morning.
不,还没有。/对,周一/今早入的学。
?
[Amber demo]
187与for和since连用
?
A for与表示一段时间的短语连用:
for six days六天
for a long time很久
for与一般过去时连用,表示一段终结了的时间:
We lived there for ten years.
我们在那里住过十年。(但我们现在不住那里了)
for与现在完成时连用表示延续到现在的一段时间:
We have lived in London for ten years.
我们在伦敦已经住了十年。