have done ,have been done ,did什么时候用哪个?我经常分不清
4个回答

have done 现在完成时的主动式,表示过去发生并对现在有影响的动作或状态,表主动.

I have finished my homework.

have been done 现在完成时的被动式

同上,只不过表被动.

My homework has been finished by Jack.

did一般过去时,表示过去时间里发生的动作或状态,一般跟明显的表过去的时间状语.

I finished my homework yesterday.