Since vs For

แยก “จุดเริ่มต้น” กับ “ระยะเวลา” เพื่อบอกว่าเหตุการณ์ดำเนินมานานเท่าไร

เลือกหัวข้อเพื่อดูรายละเอียด


1. หลักตัดสินใจ: จุดเริ่มหรือระยะเวลา

ใช้ since หน้าจุดเริ่มต้นของเหตุการณ์ และใช้ for หน้าช่วงเวลาทั้งหมด ลองถามว่า “ตั้งแต่เมื่อไร?” หรือ “นานเท่าไร?”
คำคำถามช่วยคิดตัวอย่างคำตามหลัง
sinceตั้งแต่เมื่อไร? (from when?)since Monday, since 2022, since noon
forนานเท่าไร? (how long?)for two days, for a year, for hours
  • EasyI have waited for ten minutes. (ฉันรอมาสิบนาทีแล้ว) (ten minutes = ระยะเวลา)
  • MediumShe has worked here since June. (เธอทำงานที่นี่มาตั้งแต่เดือนมิถุนายน) (June = จุดเริ่ม)
  • HardWe have known each other since our first class. (เรารู้จักกันตั้งแต่คาบเรียนแรก) (เหตุการณ์แรกเป็นหมุดเวลา)

2. Since + จุดเริ่มต้น

หลัง since ใช้เวลาเฉพาะเจาะจง คำนามที่เป็นเหตุการณ์ หรืออนุประโยคที่บอกจุดเริ่ม เช่น since 8:00, since childhood, since I moved here
รูปแบบตัวอย่างเหตุผล
since + เวลา/วันsince 7 a.m. · since Fridayบอกเวลาที่เริ่ม
since + ปี/ช่วงชีวิตsince 2019 · since childhoodเป็นหมุดบนเส้นเวลา
since + clausesince she joined the teamเหตุการณ์ใน clause เป็นจุดเริ่ม
  • EasyIt has rained since noon. (ฝนตกมาตั้งแต่เที่ยง) (noon = จุดเวลา)
  • MediumThey have lived nearby since 2021. (พวกเขาอาศัยอยู่ใกล้ๆ มาตั้งแต่ปี 2021) (ระบุปีเริ่มต้น)
  • HardLeo has felt more confident since he changed schools. (ลีโอมั่นใจขึ้นตั้งแต่เขาย้ายโรงเรียน) (ตามด้วย subject + verb)

3. For + ระยะเวลา

ใช้ for เมื่อระบุความยาวของเวลา จะเป็นตัวเลขชัดเจนหรือคำกว้างๆ ก็ได้ เช่น for six weeks, for a long time, for ages
ชนิดระยะเวลาตัวอย่างหมายเหตุ
ตัวเลข + หน่วยเวลาfor three hours · for ten yearsนับความยาวได้ชัดเจน
ระยะเวลาไม่เจาะจงfor a while · for a long timeยังตอบคำถาม how long
ทั้งช่วงfor the whole weekเน้นช่วงเวลาทั้งหมด
  • EasySam has been busy for two days. (แซมยุ่งมาสองวันแล้ว) (two days = ความยาว)
  • MediumI have not seen her for a while. (ฉันไม่ได้พบเธอมาสักพักแล้ว) (ระยะเวลาไม่เจาะจง)
  • HardThe road has been closed for the entire weekend. (ถนนปิดมาตลอดสุดสัปดาห์) (เน้นความยาวทั้งช่วง)

4. เลือก tense ให้ตรงกับสถานการณ์

since และ for มักพบกับ present perfect เมื่อเหตุการณ์เริ่มในอดีตและยังเกี่ยวข้องกับปัจจุบัน แต่ for ใช้กับ tense อื่นได้ถ้าช่วงเวลานั้นจบแล้วหรืออยู่ในอนาคต
สถานการณ์Tense ที่พบบ่อยตัวอย่าง
เริ่มอดีตและยังดำเนินอยู่present perfectShe has taught here for five years.
ช่วงที่จบแล้วในอดีตpast simpleShe taught there for five years.
ช่วงที่วางแผนไว้futureShe will stay for five days.
  • EasyWe have been friends for years. (เราเป็นเพื่อนกันมาหลายปีแล้ว) (ยังเป็นเพื่อนกันอยู่)
  • MediumHe stayed in Rome for a month last year. (เขาพักในโรมหนึ่งเดือนเมื่อปีก่อน) (ช่วงจบแล้ว)
  • HardBy May, she will have worked here for a decade. (ถึงเดือนพฤษภาคม เธอจะทำงานที่นี่ครบสิบปี) (future perfect + ระยะเวลา)

6. ข้อผิดพบบ่อย / Tip สอบ

สูตรเร็ว: จุดเดียวบนเส้นเวลา → since; ความยาวระหว่างสองจุด → for; ย้อนจากตอนนี้และเหตุการณ์จบแล้ว → ago
ผิดถูกเหตุผล
since three monthsfor three monthsthree months เป็นระยะเวลา
for last Mondaysince last Mondaylast Monday เป็นจุดเริ่ม
since five years agofor five years / since 2021เลี่ยงการซ้อน since กับ ago
I live here since 2020.I have lived here since 2020.เริ่มอดีตและยังอยู่ต่อถึงปัจจุบัน
  • EasyThe shop has been open since nine o'clock. (ร้านเปิดมาตั้งแต่เก้าโมง) (จุดเริ่มชัดเจน)
  • MediumThe shop has been open for six hours. (ร้านเปิดมาหกชั่วโมงแล้ว) (ระยะเวลารวม)
  • HardIt has been six hours since the shop opened. (เป็นเวลาหกชั่วโมงแล้วนับตั้งแต่ร้านเปิด) (It has been + duration + since-clause)

End-of-lesson quiz

ตอบแล้ว 0 / 10

ข้อ 1

1 / 10

Choose the correct word:
'Mali has worked at this café __________ last Monday.'

เฉลย / Answerซ่อนเฉลย / Hide

เฉลย / Answer: (B) since

คำอธิบายแต่ละตัวเลือก / Explanation for each choice

  • (A) for
    ผิด: last Monday เป็นจุดเริ่มต้น ไม่ใช่ระยะเวลา จึงไม่ใช้ for
  • (B) since
    ถูกต้อง! since ใช้หน้าจุดเริ่มต้นที่เฉพาะเจาะจง เช่น last Monday

    ประโยคสมบูรณ์: Mali has worked at this café since last Monday.
  • (C) ago
    ผิด: ago วางหลังระยะเวลา เช่น two days ago และมักใช้กับ past simple
  • (D) during
    ผิด: during ใช้บอกว่าเหตุการณ์เกิดภายในช่วงหนึ่ง ไม่ได้ชี้จุดเริ่มที่ต่อเนื่องถึงปัจจุบัน

ข้อ 2

2 / 10

Fill in the blank:
'We have been in the library __________ two hours.'

เฉลย / Answerซ่อนเฉลย / Hide

เฉลย / Answer: (D) for

คำอธิบายแต่ละตัวเลือก / Explanation for each choice

  • (A) since
    ผิด: two hours เป็นระยะเวลา ไม่ใช่จุดเริ่มต้น
  • (B) ago
    ผิด: ago ต้องตามหลังระยะเวลาและใช้บอกเหตุการณ์ในอดีต เช่น arrived two hours ago
  • (C) from
    ผิด: from มักต้องมีปลายช่วง เช่น from two to four ไม่ใช้แทน for ในประโยคนี้
  • (D) for
    ถูกต้อง! for ใช้หน้า two hours ซึ่งบอกความยาวของเวลา

    ประโยคสมบูรณ์: We have been in the library for two hours.

ข้อ 3

3 / 10

Select the best answer:
'Nina has felt happier __________ she joined the music club.'

เฉลย / Answerซ่อนเฉลย / Hide

เฉลย / Answer: (A) since

คำอธิบายแต่ละตัวเลือก / Explanation for each choice

  • (A) since
    ถูกต้อง! since ตามด้วย clause ได้ โดย she joined the music club บอกเหตุการณ์ที่เป็นจุดเริ่ม

    ประโยคสมบูรณ์: Nina has felt happier since she joined the music club.
  • (B) for
    ผิด: for ต้องตามด้วยระยะเวลา เช่น for three months ไม่ตามด้วย clause นี้
  • (C) ago
    ผิด: ago วางหลังคำบอกระยะเวลา ไม่ได้นำหน้า subject + verb
  • (D) until
    ผิด: until บอกปลายทางของเวลา แต่ประโยคต้องการจุดเริ่มของความรู้สึก

ข้อ 4

4 / 10

Choose the correct phrase:
'My grandparents have owned this house __________.'

เฉลย / Answerซ่อนเฉลย / Hide

เฉลย / Answer: (C) for forty years

คำอธิบายแต่ละตัวเลือก / Explanation for each choice

  • (A) since forty years
    ผิด: forty years เป็นระยะเวลา จึงต้องใช้ for ไม่ใช่ since
  • (B) ago forty years
    ผิด: ตำแหน่งของ ago ต้องอยู่หลังระยะเวลา และไม่เข้ากับ present perfect ในประโยคนี้
  • (C) for forty years
    ถูกต้อง! forty years บอกระยะเวลาทั้งหมด จึงใช้ for

    ประโยคสมบูรณ์: My grandparents have owned this house for forty years.
  • (D) since forty years ago
    ผิด: ในข้อสอบมาตรฐานควรใช้ for forty years หรือระบุจุดเริ่มหลัง since โดยตรง

ข้อ 5

5 / 10

Choose the best completion:
'Arun moved to this neighborhood three months __________.'

เฉลย / Answerซ่อนเฉลย / Hide

เฉลย / Answer: (B) ago

คำอธิบายแต่ละตัวเลือก / Explanation for each choice

  • (A) since
    ผิด: since ต้องอยู่หน้าจุดเริ่มและมักเชื่อมกับเหตุการณ์ที่ต่อเนื่อง ไม่วางหลัง three months
  • (B) ago
    ถูกต้อง! ระยะเวลา + ago ใช้กับ past simple เพื่อบอกว่าเหตุการณ์เกิดก่อนตอนนี้เท่าไร

    ประโยคสมบูรณ์: Arun moved to this neighborhood three months ago.
  • (C) for
    ผิด: for ต้องอยู่หน้าระยะเวลา เช่น for three months และไม่วางท้ายแบบนี้
  • (D) during
    ผิด: during ต้องตามด้วยคำนามที่เป็นช่วงหรือเหตุการณ์ และไม่ใช้ในโครงสร้าง three months during

ข้อ 6

6 / 10

Select the grammatically correct sentence.

เฉลย / Answerซ่อนเฉลย / Hide

เฉลย / Answer: (D) I have lived here since 2022.

คำอธิบายแต่ละตัวเลือก / Explanation for each choice

  • (A) I live here since 2022.
    ผิด: เมื่อเริ่มในอดีตและยังอยู่ถึงปัจจุบัน ต้องใช้ present perfect ไม่ใช่ present simple
  • (B) I have lived here for 2022.
    ผิด: 2022 เป็นจุดเริ่ม จึงต้องใช้ since ไม่ใช่ for
  • (C) I lived here since four years.
    ผิด: four years เป็นระยะเวลา ต้องใช้ for และถ้ายังอยู่ควรใช้ present perfect
  • (D) I have lived here since 2022.
    ถูกต้อง! present perfect แสดงเหตุการณ์ที่ต่อเนื่องถึงปัจจุบัน และ since นำหน้าปีที่เป็นจุดเริ่ม

ข้อ 7

7 / 10

Complete both blanks:
'The museum has been closed __________ Tuesday, so visitors have waited __________ four days.'

เฉลย / Answerซ่อนเฉลย / Hide

เฉลย / Answer: (A) since / for

คำอธิบายแต่ละตัวเลือก / Explanation for each choice

  • (A) since / for
    ถูกต้อง! Tuesday เป็นจุดเริ่มจึงใช้ since ส่วน four days เป็นระยะเวลาจึงใช้ for

    ประโยคสมบูรณ์: The museum has been closed since Tuesday, so visitors have waited for four days.
  • (B) for / since
    ผิด: สลับหน้าที่กัน Tuesday ต้องใช้ since และ four days ต้องใช้ for
  • (C) ago / since
    ผิด: ago ไม่วางหน้า Tuesday และ since ไม่ใช้หน้าระยะเวลา four days
  • (D) during / ago
    ผิด: during และ ago ไม่สร้างความหมายต่อเนื่องจากจุดเริ่มและระยะเวลาแบบที่ต้องการ

ข้อ 8

8 / 10

Choose the best answer:
'By next March, Dr. Lee will have taught at the college __________ ten years.'

เฉลย / Answerซ่อนเฉลย / Hide

เฉลย / Answer: (C) for

คำอธิบายแต่ละตัวเลือก / Explanation for each choice

  • (A) since
    ผิด: ten years เป็นระยะเวลารวม ไม่ใช่จุดเริ่ม
  • (B) ago
    ผิด: ago ย้อนจากปัจจุบันและมักใช้กับ past simple ไม่เหมาะกับ future perfect
  • (C) for
    ถูกต้อง! future perfect ใช้บอกระยะเวลาที่จะครบ ณ จุดหนึ่งในอนาคต และ ten years ต้องตามหลัง for

    ประโยคสมบูรณ์: By next March, Dr. Lee will have taught at the college for ten years.
  • (D) from
    ผิด: from ต้องระบุจุดเริ่มและมักจับคู่กับ to/until ไม่ใช้หน้าระยะเวลารวมนี้

ข้อ 9

9 / 10

Which revision is grammatically correct?
'Ken knows Mira since their first year at university.'

เฉลย / Answerซ่อนเฉลย / Hide

เฉลย / Answer: (A) Ken has known Mira since their first year at university.

คำอธิบายแต่ละตัวเลือก / Explanation for each choice

  • (A) Ken has known Mira since their first year at university.
    ถูกต้อง! know เป็น stative verb จึงใช้ present perfect has known และ since นำหน้าจุดเริ่ม

    ประโยคสมบูรณ์: Ken has known Mira since their first year at university.
  • (B) Ken has been knowing Mira for their first year at university.
    ผิด: โดยทั่วไปไม่ใช้ know ใน continuous และ their first year เป็นจุดเริ่ม ไม่ใช่ระยะเวลาในบริบทนี้
  • (C) Ken knew Mira for their first year at university.
    ผิด: past simple สื่อว่าช่วงนั้นจบแล้ว และ for เปลี่ยนความหมายเป็นรู้จักเฉพาะหนึ่งปี
  • (D) Ken has known Mira ago their first year at university.
    ผิด: ago ไม่สามารถนำหน้าวลี their first year at university แบบนี้

ข้อ 10

10 / 10

Select the correct structure:
'It __________ eight months __________ the research project began.'

เฉลย / Answerซ่อนเฉลย / Hide

เฉลย / Answer: (D) has been / since

คำอธิบายแต่ละตัวเลือก / Explanation for each choice

  • (A) is / for
    ผิด: โครงสร้างที่นับเวลาจากเหตุการณ์เริ่มต้นต้องใช้ present perfect และ since
  • (B) has been / for
    ผิด: หลังช่องที่สองเป็น clause จึงต้องใช้ since ไม่ใช่ for
  • (C) was / since
    ผิด: was ไม่แสดงระยะเวลาที่นับต่อเนื่องมาถึงปัจจุบัน
  • (D) has been / since
    ถูกต้อง! ใช้โครงสร้าง It has been + ระยะเวลา + since + past simple clause

    ประโยคสมบูรณ์: It has been eight months since the research project began.