Have/Has been done 和 Have/Has done 的主要差异在于语态的运用。
首先,Have been done 是现在完成时的被动形式,强调的是动作对主语产生的影响,通常主语为事物。例如,"His homework has been finished before he went home",这句话表明作业是在他回家之前被动完成的。
相比之下,Have done 则是现在完成时的主动形式,动作的执行者通常是人。如"I have went to England three times",这表明说话者已经去了英国三次,是主动行为。
关于现在完成时的用法,它不适用于与精确的过去时间状语(如yesterday, last week)单独使用,通常与不确定的时间(如already, yet)、频率(如often, never)或包含现在在内的时间段(如up to now, this morning)连用。现在完成时可以表示动作的结束(如"He has turned the light off")或重复发生(如"Have you found your pen?"),也可能表示始于过去并持续到现在的动作(如"He has lived here since 1978")。
值得注意的是,现在完成时用于延续性动词,而非瞬间完成的动词,如"join"和"die"。此外,与一般过去时的区分也很重要,不能混淆。
温馨提示:答案为网友推荐,仅供参考