“情态动词+have done”辨析

时间:2022-09-22 05:28:33

[must+have done]

该结构用来表示说话人对已发生的事情或存在的状态的一种合乎情理的逻辑判断,或是有把握的推测。一般用于肯定句中,可译为“准是已经……”“一定……了”“肯定……了”等。例如:

They must have got there.

他们肯定已经到那里了。

I didn’t hear the phone. I must have been asleep.

我没有听到电话声,我准是已经睡着了。

The road was wet this morning; it must have rained last night.

今天早上路这么湿,昨晚上一定下过雨了。

[may+have done]

这个结构可以表示两个意思,一是表示说话人对过去可能已经发生的动作或存在的状态的推测或猜想,可译为“或许已经……”“说不定……了”,二是表示“本来可以……(而实际上没有发生)”。例如:

You may have met him before.

你或许以前碰见过他。

They may have missed the plane, or perhaps they have been prevented from coming for some reason.

说不定他们误了飞机了,或者他们可能因为某种原因而不能来。

You may/might have given it to me earlier.

你本来可以把它早一点给我。

[might+have done]

这种结构与“may+have+过去分词”结构所表示的含义基本相同,也表示说话人对过去情况的推测。但用might语气则更委婉一些,might所表示的可能性比may小一些。例如:

He might have known about it.

他或许已经知道了这件事的情况。

They might not have got all the money given.

他们也许还没有付清所有的钱。

[could+have done]

这种结构常用来表示过去本来有可能或能够做到,但是因为某种原因实际上并未做到,含有“劝告”“责备”的意思,可译为“本来能够……”“本来可以……”等。例如:

He could have finishsd his work all by himself.

他本来可以独自完成他的工作。

―I stayed at a hotel while in New York.

―Oh, did you? You could have stayed with Barbara.

――我在纽约时住在旅馆。

――哎呀,是正的吗?你本来可以与Barbara住在一起的呀。

[couldn’t+have done]

这一否定结构表示说话人对过去发生的动作或存在的状态进行否定的推测,可译为“不可能……”。例如:

I didn’t see her at the meeting this morning; she couldn’t have spoken at the meeting.

今天上午我在会议上没有见到她,她不可能在会上发言了。

―There were already five people in the car but they managed to take me as well.

―It couldn’t have been a comfortable trip.

――车上已经有五个人了,但是她们设法让我也上车了。

――那不可能是一趟舒服的乘车之行。

[should+have done]

这一结构用来表示句子主语过去应当做而实际上未做的事,带有后悔、埋怨或责备的口气。可译为“本应该……”等。例如:

I told Sally how to get here, but perhaps I should have written it out for her.

我告诉了Sally怎么来这儿,但也许我应该给她写出来。

We should have studied last night, but we went to the concert instead.

昨天晚上我们本应该学习的,但是我们却去听音乐会了。

[ought to+have done]

这一结构与“should+have+过去分词”结构所表示的含义相同,即也表示句子主语过去本应该做到但实际上却未做到的事情,两种结构多数情况下可以通用,不过ought to比should的语气强些。例如:

You ought to have told me the news earlier.

你应该早点告诉我这个消息。

[shouldn’t+have done/oughtn’t to+have done]

这一否定结构表示过去本不该做而实际上却做了的事情。可译为“本不应该……”。例如:

You shouldn’t have been so careless.

你本不应该这么粗心的。

Tom oughtn’t to have told me your secret, but he meant no harm.

汤姆本不应该把你的秘密告诉我,但他无意伤害你。

[needn’t+have done]

此结构用来表示过去发生了本来不需要或不必做的事情,可译为“本来不必……”“本来不需要……”等。例如:

There was plenty of time; She needn’t have hurried.

时间还多着呢,她本来不需要那么匆忙的。

You needn’t have come here so early.

你本来不必来这里这么早的。

[would+have done]

这一结构常用于虚拟语气中,表示与过去事实相反的情况,可译为“就会……了”。例如:

If had known her address then, I would have written to her.

如果我那时候知道她的地址,我就会给她写信了。

If he had been persent at the meeting yesterday, how would he have dealt with the matter?

如果昨天他出席了会议,他将会怎么处理这个问题呢?

上一篇:不定式的语态 下一篇:出国展览助推中小企业“走出去”的策略探讨