Present Perfect Tense


Present Perfect Tense ใช้กับ Adverbs of time ต่อไปนี้ since (ตั้งแต่) , for (เป็นเวลา) , just
(เพิ่งจะ), already (เรียบร้อยแล้ว) , yet (ยัง) , recently (เมื่อเร็วๆ นี้ ช่วงนี้) , lately (เมื่อเร็วๆ นี้ ช่วงนี้) , never (ไม่เคย) , ever (เคย) , so far (จากบัดนั้นจนบัดนี้) , up to now (จากบัดนั้นจนบัดนี้) , up to the present time (จนถึงปัจจุบัน) ,many times (หลายครั้ง) , several times (หลายครั้ง) , over and over (ครั้งแล้วครั้งเล่า) ,
at last (ในที่สุด)

หลักการใช้
1. ใช้กล่าวถึงเหตุการณ์ที่เกิดขึ้นในอดีต และยังดำเนินหรือมีผลต่อเนื่องมาจนถึงปัจจุบัน มักมีคำว่า since และ for อยู่ด้วย since (ตั้งแต่) ใช้กับจุดเริ่มต้นของเหตุการณ์นั้นๆ ในอดีต (a point of time in the past)
เช่น since then (ตั้งแต่นั้น) , since yesterday (ตั้งแต่เมื่อวาน) , since six o'clock (ตั้งแต่ 6 โมง)
since last month (ตั้งแต่เดือนที่แล้ว) , since Christmas , since World War II ,
since the beginning of the year , since I was born , since I was young.
(หลัง since จะตามด้วย คำ หรือวลี ที่บอกอดีต หรือ จะตามด้วย ประโยคที่มีกริยาเป็นอดีต main clause)
- We have lived in this house since our father died.
- Since he has changed his job , he has been much happier.
- That child has grown very much since I last seen him.
- I have known him since 1990.
- I have never seen him since last year.
- My father has smoked since he was young.

for (เป็นเวลา) ใช้กับจำนวนเวลานับตั้งแต่เหตุการณ์จนถึงขณะที่พูด (a period of time)
เช่น for twenty minutes (เป็นเวลา 20 นาที) , for four hours (เป็นเวลา 4 ชั่วโมง) ,
for years (เป็นปีๆ) , for ages (เป็นเวลานาน) , for the last month (เป็นเวลาตลอดเดือนที่แล้ว),
for a long time (เป็นเวลานาน) , for the last two years (เป็นเวลาตลอดเวลา 2 ปีที่ผ่านมา)
- Billy hasn't written to me for three days.
- I haven't seen John for many weks.
- They have lived in this district for a long time.
- Mary hasn't eaten any meat for over a year.

(หมายเหตุ - แต่ถ้าข้อความใน main clause เกี่ยวกับระยะเวลาให้ใช้ present simple และ clause หลัง since
ให้ใช้ past simple เช่น
- It is (seems) a long time since our last holiday.
- It is eight years since I left university.
- It seems a long time since he left me.
- It is two weeks since I wrote to my boyfriend.
- How long is it since you moved into your new house?

2. ใช้กล่าวถึงเหตุการณ์ที่เพิ่งกระทำเสร็จสิ้นใหม่ๆ จะมีคำว่า just , recently (=lately ) = (not long ago) และ
lately ใช้กับประโยคคำถามและปฏิเสธ
- Have you finished your assignment?
- Yes, I have just finished it.
- The results have just been announced.
- He has recently got married.
- Have you been there lately?

3. ใช้กับคำว่า yet และ already
yet (ยัง) ใช้กับ Question , Negative Answer และ Negative Statement
already (เรียบร้อยแล้ว) ใช้กับ Affirmative Statement และ Affirmative Answer
- We have not yet read that book. (Neg. St.)
- Has he come back yet ? (Question)
- No, he has not come back yet. (Neg. Ans.)
- Yes, he has already come back.
- Yes, he has come back already.
**** already เมื่อเป็นการแสดงความประหลาดใจของผู้พูดจะใช้ในประโยคคำถาม
- Have you finished your report already?


4. ใช้กล่าวถึงเหตุการณ์ในอดีตและยังไม่จบในขณะที่พูด จะมีคำว่า ever , never
ever ใช้กับ Question
never ใช้กับ Negative Statement และ Negative Answer
- Have you ever been to America? (Question)
- No, I have never been there. (Neg. Ans.)
- Yes, I have been there .
- I have never palyed ice-skating. (Neg, St.)

5. ใช้กล่าวถึงเหตุการณ์ที่เกิดขึ้นในอดีต แต่ไม่ได้บ่งเวลาที่เกิดขึ้นให้ชัดเจน จะมีคำว่า up to the present time ,
until now , so far , so far this month , at last,
- Up to the present time we have had no news from John.
- I have received no answer from him so far.
- He has finished his report at last.

6. ใช้กล่าวถึงเหตุการณ์ที่เกิดซ้ำซากหลาย ๆ ครั้ง จะมีคำว่า many times, several times , over and over
- I have been to Hua-Hib many times.
- She has seen "Jurassic Park" several times.
- We have studied Tenses over and over.

7. ใช้กล่าวถึงเหตุการณ์ในอดีตที่สิ้นสุดลงแล้ว แต่เกี่ยวเนื่องกับเหตุการณ์หนึ่งซึ่งเกิดขึ้นในปัจจุบันหรืออนาคต
- Janet has bought a car so that she will have transportation to work.
- He has studied all day so that he can go to the dance tonight.

8. ใช้กับเหตุการณ์ที่เกิดขึ้นในช่วงระยะเวลาหนึ่ง ซึ่งยังไม่สิ้นสุด จะมีคำว่า this month , this year
- Have you had a holiday this year?
- You have done a lot of work this morning.
- I have read two books this week.

9. ใช้ในบทสนทนา จดหมาย รายงาน หนังสือพิมพ์
Conversation --- I have lost my keys. Have you seen them? Yes, I have seen them.
Yes, I saw them yesterday. (ถ้ามีเวลาบอก ใช้ past simple)
Letters - -- Dear James,
I'm sorry that I haven't written to you for such a long time but I have been
very busy working for an examination.

ที่มา: http://www.lks.ac.th/teacher_jonggonee/jongdream/present_perfect.html

Comments