{1 - 24} グレー
{25 - 49}
{50 - 499}
{500 - 4999} オレンジ
{5000 - 24999}
{25000+}

現在完了

現在完了の経験用法に forをつけるとたちまち過去形になってしまうのはなぜですか。

(私は東京に住んだことがあります。)
I have lived in Tokyo before.
これを
(私は東京に2年間住んだことがあります。)
とすると
I have lived in Tokyo for 2 years before.
とはならず
I lived in Tokyo for 2 years before.となってしまいますよね?なぜでしょうか?
現在完了とyesterdayや〜agoなどの特定の過去の時を表す副詞は共に使えないと言うことは存じておりますが、上記の文はいつ東京に二年間住んでいたのか定かではないにも関わらず、過去形となってしまうのはなぜですか?
それとも普通に現在完了でも表せるでしょうか?

1 回答

例えばI have lived in Tokyo before は過去になってしまうわけではありません。現在完了として文法的に正しいと思います。

beforeは「以前に」という漠然とした感じなので、“for 2 years” のような具体的な期間と合わせると少し不自然に聞こえてしまいます。

他の例:
I once lived in Tokyo for two years. (経験として明確、過去形)

I have lived in Tokyo for two years. (今も住んでいるように聞こえる、現在完了形)

回答をするには要ログイン

ユーザー登録済み?: ログイン
ユーザー登録されていない方: ユーザー登録