现在完成时主要用在两种情况下
1.强调过去发生的动作对现在造成的影响。(描述了一个发生在过去的动作,但又没有明显的过去时间,这时很容易和一般过去时混淆,注意一般过去时有明显过去时间。),
例如我吃过午饭了。
I have had lunch.(现在完成时)
我12点吃得午饭。
I had lunch at 12:00.(一般过去时)
2.某个动作从过去开始,一直持续到现在。例如
我学英语已经18年了。
i have learned english for eighteen
years.