I want to know the difference between "have done" and "had done". When and where it should be used?
Have done --- Have done is a present perfect tense, generally it is used when the action is completed recently/just now.
Had done-- Had done is a past perfect tense, generally refers to something which happened earlier in the past, before another action also occured in the past.
We have done the work -- Here the action completed recently/just now.
My friend offered me an apple in classroom yesterday, but I wasn't hungry because I had just eaten lunch -- Here the action happened earlier("yesterday"), and another action ("I had just eaten lunch") also occured in the past.
"Have (or has) done" can be used as a standalone declarative phrase. ("I have done my homework."), although other phrases can be added ("I have done my homework, so I'm going to visit a friend.")
"Had done" is always used in a multi-phrase construction ("I had done my homework, so I went to visit a friend." or "If he had done his homework, he could have gone to the party.")
Here is the answer I found on one of English forums:
We have done our homework. present perfect tense. Completed in the very recent past.
We had done our homework, so we were allowed to go to the movies. past perfect tense. Completed in the past, prior to the simple past "act" of being allowed.
Note that the simple present of "to have," third person singular, is "has." He has done his homework. The "done" remains in the base form, and does not change. "Had" is simple past, and does not change for person or number: He had done his homework, so he was allowed to go to the movies.