在英文里面 I have done 和 I did 的区别

I saw a movie last night which is a sad movie, I have cried for hours that's why my eyes get swollen.

这个句子对的,只是,没必要把句子变这么复杂的。

I saw a movie last night, it was a sad movie. I cried for hours, which is why my eyes get swollen.

have done是强调完成了,

I had cried for hours before going to bed, which is why .......

通常后面还有问题的。

I saw a movie last night which is a sad one. I cried for hours and that's why my eyes get swollen.

I have seen a movie which is a sad one. I wwas crying while watching it. That's why my eyes get swollen.

直接用过去时即可,没必要用现在完成时。

I saw a movie last night,which was a tragedy.I cried during the watching time,Thats why my eyes get swollen now.

你看电影是过去式了,哭了很久也是last night 的事,而have done 是做过的事对现在的影响即眼睛肿了,哭的动作不能用have cried

I have done是强调你完成了某件事情。

I did是强调动作。

你可以直接说I watched a sad movie last night 不需要用which is. watch a movie not see a movie.

还有你应该说I cried when I was watching the movie。

I did 就是发生在过去的一件事对现在没有影响比如I did my homework last night.

I have done是过去发生的一件事对现在有影响比如I have done with my homework from yesterday so I got an "A" for today's grade. 所谓对现在有影响就是在句子后面加上现在发生的事。