一、从结构上区别
现在完成时:主语 + have / has + 过去分词 (肯定式)
主语 + have / has + not + 过去分词 (否定式)
Have / Has + 主语 + 过去分词 (疑问式)
过去完成时:主语 + had + 过去分词 (肯定式)
主语 +had + not + 过去分词 (否定式)
Had + 主语 + 过去分词 (疑问式)
(二)从时间状语区别
现在完成时: 常用的时间状语包括 “now, today, tonight, this week, this year, already, yet, just, recently…etc”。
过去完成时: 常用的时间状语包括 “by, at, before等构成的短语”。
注意:当表示一段时间,现在完成时和过去完成时都可以用for 或since引导的状语。

例如:Have you had your lunch yet?

你吃午饭了吗?

Yes, I have . I’ve just had it.

是的,我刚吃完。

I have had a clock now.

我现在有一个闹钟了。

Have you already posted the photos?

你把照片寄走了吗?

The meeting had begun when we got there.

我们到那儿时,会议已经开始了。

We had learned about 5000English words by the end of last term.

到上学期末我们已经学了5000个英语单词。

They had done the work at five o’clock.

在五点钟的时候他们已经完成了那项工作。