“How long have you been …?”

英語

現在完了形は「過去に始まり、今も続いている」ことについて使用します。
以下、過去記事もご参考に。

結婚して20年になります!

例えば「結婚して何年」という文章を見てみます。
現在形で書くと、

  • They are married. : 彼らは結婚している

日本語で「結婚する」というと、「既婚者になる」という行動を思い浮かべます。
「彼らは20年前に結婚しました」と過去形で書きます。離婚していなくても。
「20年前に既婚者になった」というイメージでしょうか。

「結婚する」という日本語に当てはまる英語はきっと”get married”でしょう。
“married”という状態を”get”すると言うイメージ。

一方、”be married”は既婚者であるということを表します。
“They are married”は「(今)、彼らは既婚者である」ということを表しています。

  • They have beeen married for 20 years.

20年前に”get married (got married)”して、20年の間”married”の状態であるというイメージです。

現在形と現在完了形の比較

  • Matt is in the hospital. : 彼は(今)入院している
    He has been in the hospital since Monday. : 月曜日から入院している。
  • We know each other very well. : お互いよく知ってるよ
    We’ve known each other for a long time. : 昔からよく知ってるよ(長い間なので昔からというイメージ)
  • Do they have a car? : 車持ってる?
    How long have they had their car? : 車所有してどのぐらい?的な感じ
  • She is waiting for somebody. : 誰かを待ってる(現在進行形)
    She hasn’t been waiting very long. : 長いこと待ってる(今待っているだけじゃなく、待ち始めてから随分経つ)

“現在完了形”と”現在完了進行形”

“現在完了形”で使う動詞と”現在完了進行形”で使う動詞があったりします。

現在完了形は、

  • I have known ~
  • I have had ~
  • I have lived ~ など

現在完了進行形は、

  • I have been learning ~
  • I have been waiting ~など

どのぐらいの期間(how long)と訪ねるときは、”現在完了進行形”を使うことが多いみたい(より一般的。つまり、現在完了形で使うと”間違い”というわけではない)。

  • I have been learning English since January. : 1月から英語勉強してるんだ
  • It’s been raining all morning. : 朝からずっと雨だよ
  • Richard has been doing the same job for 20 year. : 同じ仕事を20年間も…。
  • “How long have you been driving?””Since I was 17.” : 「運転はじめてどのぐらい?」「17の時から」

でも、”know”や”like”など、いくつかの動詞では進行形の形は使いません。

  • How long have you known Jane? (✖︎ have you been knowing)
  • I have had these shoes for ages. (✖︎ I’ve been having)

参考文献

コメント

タイトルとURLをコピーしました