■完了形はあいまい
こんなのは文だけで理解できない。文脈が要る。動詞によるとは思うが、、
He has swum for three hours.
He has been swimming for three hours.
上は完了で「3時間泳いで終わった」
下は継続で「3時間泳ぎ続けていて,今後も続く」
I have studied English for three years.
「英語を3年勉強してきた」 これも高校に行って英語を勉強しづける可能性もある
この例はたまたまそういう文脈があっただけで、
have been -ingは強意があるということ。継続かどうかが決まるわけではない
■他の言い方で完了形に近い表現をすることができる
The email has been registered successfully.
登録処理が順調に行われました。(完了形)
The email is registered already.
メールアドレスは既に登録されているいます。(受動態)
The Email is already being used.
メールアドレスは既に使用されています。(受身進行形)
We received your email.
メールアドレスを受け取った。(過去形)
■■結局
日本語の表現の型と英語の表現の型は違うが、特に完了形は型でニュアンスを表現するため理解が定着しにくい。完了形は英語の型を覚えてしまい、状況に当てはめて使えるようにする。一番適切な時制を使うということ
1)現在完了
have done
完了(~したところだ)、経験(~したことがある)、継続(ずっと~である)、結果(~してしまって今は~だ)
I have done this.
I have never done this.(否定)
Have you ever done this?(疑問)
She has done this.(三単現)
Has she done this?
明らかに過去を表す副詞(yesterday, two years ago 等)と一緒に用いられない、それは過去形でよい
I did this yesterday.
2)現在完了進行形
have been doing
(今までずっと~している)
I have been doing this.
I have never been doing this.(否定)
Have you been doing this?(疑問)
She has been doing this.(三単現)
Has she been doing this?
現在進行形や完了形でもほとんど意味は変わらない(前者が自然だけど)
He has been taking the lessons since five.(期間を感じさせる) -> He is taking the lessons from five.(今を主眼に)
How long have you been waiting for the girl? -> How long have you waited for the girl?
3)現在完了の受身
have been done
完了、経験、継続の受身
I have been called by her.
I haven't been called by her.
Have you been called by her?(疑問)
Have you never been called by her?(否定疑問)
She has been called by you.(三単現)
Has she been called by you?
Hasn't she been called by you?(三単現否定疑問)
4)過去完了
had done
完了形(完了・経験・継続)の過去形、現在完了の各形からhadに変える
I had done this then.
I had never done this then.(否定)
Had you ever done this then?(疑問)
She had done this then.(三単現)
Had she done this then?
基準の過去よりも古い大過去を表現する
The concert had already started when we got to the theater. (完了)
He had not seen a sea until that day. (経験)
She had lived alone for ten years when I met her. (継続)
そうでなければ現在完了or過去形でよい
Have you ever done this? Did you do this?
She has done this. Did she do this?
5)仮定法過去完了
仮定法になると感情が入り肯定と否定が逆の表現になる
should have done すべきだったのに(200%後悔)
would have done したのに(100%後悔)
must have done したに違いない(95%実感)
could have done だったかも知れない(60%実感)
might have done してもよかったかも<どっちでもいい>(35%関心薄)
---
shouldn't have done すべきでなかったのに(200%後悔)
wouldn't have done しなかったのに(100%後悔)
6)未来完了形
will have done
(将来~やり終えているでしょう)
未来のある時点の状況を、以前とつなげて予測するときに未来完了形を用いる
I will have done this by the day.
I will never have done this by the day.(否定)
Will you have done this by the day?(疑問)
She will have done this by the day.(三単現)
Will she have done this by the day?
What will you have done by the year?
I will have seen the musical three times if I see it again.
Next month we will have been married for twenty years.
文が長くなるために口語ではあまり使われない、未来形でいい
I will do this by the day.
7)未来完了進行形
will have been doing
(将来までずっと~している)
未来完了を進行形にしないといけないとき。あまり使われない
You will have been working here for twenty years by the time you are 50.
------------------------------------------------------------------------
■since
since(~以来ずっと)は普通、since従属節は過去形で、主節は現在形か現在完了形/過去完了形
I have studied English since I planned it.
sinceは主文の過去形と一緒に使うことが出来ません 駄目:I studied Egnlish since last year.
時制の一致で過去形をとることはある He said it was five years since then.
継続の意味がある現在形の動詞 I feel shaky since I was sick.
〈It's+時の表現+since ~〉の形のときは現在形とともに用いることができます
It's a long time since the last meeting.(この前会って以来、久しぶりだね)
~なので since = because
これは主文は通常、現在形 Since you are tired, you should take a rest.
時制の一致で過去形に Since he was in London, he had a chance to see people playing hockey.
■for the first time
I ate out for the first time in a month. 過去形or現在形で使う
It's been a month since I ate out last. 完了形はコレ
■since従属節は過去形だが例外的に完了形になる場合
since 節が完了形になるとき : Lady Satin's English Project (exblog.jp)
------------------------------------------------------------------------
■Once
~したら、~するとすぐに
Once you have reached the traffic lights, turn left.
Once you have been to America, you will want to go back.
Once you have filled out this form, please go to the help desk.
Once you fill out this form, please go to the help desk.
Once+現在完了(あるいは現在)、主文は現在か未来形
継続を表すdo/read/run/study/learn/play などは、onceの後ろではほぼ必ず完了形になるでしょう
onceの後ろは過去は駄目。下記のようにも使うことがあるらしいが適切でないかも
once he did, he abandoned the internets.