have been还是have been done?

如题所述

您好,"Have been"和"have done"都是英语中常用的动词短语,它们分别表示不同的意思,用法也有一些区别。
"Have been" 表示一个动作或状态从过去开始一直持续到现在,是现在完成时态的形式之一。例如:
- She has been studying English for five years. (她已经学习英语五年了。)
- They have been living in this city since 2015. (他们自2015年以来一直住在这个城市。)
注意,使用"have/has been"需要强调动作或状态的持续性。如果只描述过去的动作,则需要使用简单过去时。例如:"She studied English for five years."
"Have done" 表示已经完成的动作或动作的结果。它是现在完成时态和过去完成时态的形式之一。例如:
- I have done my homework. (我已经做完作业了。)
- She had done her research before the meeting. (开会前她已经做好了研究。)
注意,"have done"强调的是一个动作的完成,不涉及时间范围的持续,因此不同于"have been"。
总之,"have been" 和"have done" 是两个不同的动词短语,在使用时需根据不同的语境选择适当的形式。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-11-13
have been和have been done是两个完全不同的东西,没有必要比较。
have been就是have done的一种,这里的done可以是很多词,而been就是其中一种,就像sth.可以表示很多非人的名词一样,have done是现在完成时的特征性用法,比如:I have been to Beijing before:我以前去过北京; 再比如:Lilly has gone to Beijing:丽丽已经去北京了。 这里的 been和gone就是have done的done,done用来表示动词的完成时,但是要注意,done自己也有含义,比如:I have already done my homework:我已经写完作业了,这里的done就是 do homework的do的完成时。
have been done其实也是have done的用法,但是,他是have done的被动语态,也就是 be done的现在完成时,现在完成时就是 have/has + 谓语的完成时,所以这里就成了have been done 也就是把be done的be变成完成时的been,比如: My homework has been finished/done already:我的作业已经被我写完了。
所以这个你就可以理解了have been只是一个普通的完成时,have been done是完成时的普遍“公式”