should have done could have done;might have done 有什么区别

如题所述

  should have done:本应该做而没做某事,强调“本来应该”;

  could have done:本可以做却没做某事,强调“本来可以”;

  might have done: 可能已经作了某事,强调猜测.

  前两个都是假设,是与实际情况相反的假设.第三个是猜测.除此之外,should have done还明显含有懊悔或责怪之意.

  举例来讲:

  小明把家里的钥匙放在教室忘记带了.回到家打不开门一直蹲在门口等到晚上10点多加班的爸爸妈妈回来,很晚才进了家门.此场景下

  1. 小明到家后发现钥匙忘带很懊悔.此时他可能会抱怨自己:I should have brought the key with me.

  2. 那时的小明除了在门外等待爸爸妈妈回来,还有别的解决方案却没做:He could have come back to school to get
the key but he didn't.

  又如,当爸爸妈妈那么晚回来发现小明在门外,问明原因后,爸爸妈妈问他为什么当时不返回学校拿钥匙.爸爸妈妈认为若小明当时返回学校拿了钥匙的话可能早就进去了.爸爸妈妈可能会说:You
could have come in much ealier if you came back school to get the key then.

  3. 关于为什么当时没有返回学校拿钥匙,小明解释到:I thought the gate might have already been closed
by that time.(学校大门那时候可能早已经关了)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-28
should have done:本应该做而没做某事,强调“本来应该”;
could have done:本可以做却没做某事,强调“本来可以”;
might have done: 可能已经作了某事,强调猜测.
前两个都是假设,是与实际情况相反的假设.第三个是猜测.除此之外,should have done还明显含有懊悔或责怪之意.
举例来讲:
小明把家里的钥匙放在教室忘记带了.回到家打不开门一直蹲在门口等到晚上10点多加班的爸爸妈妈回来,很晚才进了家门.此场景下
1. 小明到家后发现钥匙忘带很懊悔.此时他可能会抱怨自己:I should have brought the key with me.
2. 那时的小明除了在门外等待爸爸妈妈回来,还有别的解决方案却没做:He could have come back to school to get the key but he didn't.
又如,当爸爸妈妈那么晚回来发现小明在门外,问明原因后,爸爸妈妈问他为什么当时不返回学校拿钥匙.爸爸妈妈认为若小明当时返回学校拿了钥匙的话可能早就进去了.爸爸妈妈可能会说:You could have come in much ealier if you came back school to get the key then.
3. 关于为什么当时没有返回学校拿钥匙,小明解释到:I thought the gate might have already been closed by that time.(学校大门那时候可能早已经关了)
For your reference. Tks!
第2个回答  2020-05-01
should have done 区别比较大,因为没有表示可能性的意思 因此他和might have done 区别较大
和could have 有交集的地方是 表示可以做到的事情,没有做到,但是should have一般是有益的/想要做的事情没做到 could have 重在说可能性/可以做到的,突出可能。
举个例子考试你没有过,你老师对你说 should have passed .. 言下之意是你应该要过的,过了对你有好处。 could have passed 更注重的是 你本来可以(有能力/时间等条件)过的
这种情况下 两者都有点责备的意思,但是不一定用shoud/could have 就一定是负面的感情
could have done 其中一个用法是表示有可能发生的猜想,他和 might have done 是一样的意思 都是it was possible that ...的含义 只是前者是 quite sure 后者是 not sure 确定程度上的区别。 比如说 有个人迟到了 你可以说 he could have missed the bus 也可以说 might have missed..