Ciao Wenwei, domanda interessante! Molto spesso i tempi si usano in modi diversi tra una lingua e l'altra, in effetti.
In generale, usiamo l'imperfetto per descrivere azioni di una certa durata (a volte risultando simile al past continuous inglese) avvenute più volte nel passato—talvolta anche raccontando i tempi passati, come faremmo in inglese con "used to..." e "would."
• "Non sapevo cosa dire quando ho scoperto la verità." (generale).
• "Quando ero piccolo, mangiavo il gelato ogni giorno." ("When I was little, I USED TO eat ice cream everyday").
• "Da bambino chiedevo sempre a mio padre perché il cielo fosse azzurro." ("As a kid, I WOULD always ask my dad why the sky was blue").
Il passato prossimo, a differenza dell'imperfetto, si usa per azioni passate più brevi o delle quali comunque non si vuole sottolineare la durata. Nel nord Italia dove vivo io, usiamo il passato prossimo per tutto, anche per azioni passate e finite. Nonostante passato prossimo e present perfect si assomiglino nella formazione, NON si usano allo stesso modo.
• "Sono stato al mare due anni fa." (Voglio informare del fatto che ero lì, non raccontare l'esperienza, quindi non ne sottolineo la durata con l'imperfetto ma uso il passato prossimo).
• "Ho finito di studiare." (Azione breve di per sé).
• "Non sapevo cosa dire quando ho scoperto la verità." (Qui la prima parte della frase è un'azione "lunga" ma la seconda parte è espressa con il passato prossimo perché scoprire la verità è un'azione "breve," "immediata.")
Usiamo il trapassato prossimo per esprimere un'azione passata precedente a un'altra azione passata, indipendentemente dalla durata. È un po' come il past perfect.
• "Quando è arrivata Laura [azione breve], io non avevo ancora finito di docciarmi [azione passata precedente]."
Ci sono tanti altri usi curiosi del trapassato prossimo che spesso lasciano confusi i non-nativi, ma in realtà sono giustissimi.
Purtroppo ho finito lo spazio, ma spero che la questione sia più chiara! :)