解決済
完了形でのsinceとfor
I have lived here for three years.(私はここに3年間住んでいます)
I lived here for three years.
(私は3年間ここに住んでいました)
前者はsinceも使えますか? sinceもforも「今もその動作が継続している」ので、今も住んでいることになりますね。
後者はforしか使えないのは、までの動詞がlived と過去形になっているからですか?過去形を見た時点で継続していないという判断もできますか?
回答(2)
1.

完了、経験、継続、完了。I've been to Nara.I've lived.I've finished.<し終えてその状態にある】嫌われるといけないので終わり。
2.

forは3年間という期間全体を指し示しているのに対しsinceは期間が始まった時点のみを指し示します。since 2005なら2005年という時点なので使えますがthree yearsは時点ではなく3年という長い期間になるのでここにsinceを持ってくると意味が通じません。
ほかの方の回答に意見するのは心苦しいですがSince three years agoは文法的に間違いです。このフレーズをそのままGoogleに入れて検索するとヒットはありますが少ないので一般的に使われないといえます。
three years agoだと2010年の3年前は2007年だし2000年の3年前は1997年、というような定まらない語ではなくSince i was bornとか、Since 2005など、sinceのあとには具体的な時を表す言葉がきます。
2番目の質問ですが過去形を使っていることで「今は違うよ」と言いたいとわかります。
「今もそうだよ」と言いたい時はhave livedというわけです。
sinceは過去完了の時のみ出てくる語なので過去形ならforになりますね。
学校で英語を習うとhave+過去分詞が過去完了形でなんとかかんとかと言われややこしく思いますが
実際は haveは「持っている」という意味ですから
lived here for three years という状態を持っていますよ=続いているということです。
コメント(6)
前者は「I have lived here since 2005」と言えます(since 3 years agoという人もいますが、文法的に誤り)。継続していることになります。後者では、過去形を見ただけで今は継続していないと分かります。従って、sinceは使えません。
前者にて、since 3 years ago が使えないのは、 3 years ago が(読み手からは2005年と分かるのに)文法上具体的にいつのことか分からないからですか?
後者は完了形でない時点で継続ではないと判断できますか? そうしますと、完了形でなければ常にsinceは使えないと言えますか?
コメントしかしなかったので見ていなかったです。文法的には、sinceの後は2005年みたいに「名詞」か、そうでなければ「主語と動詞のある文」がきます。「3 years ago」は名詞でも文でもないので文法的には「since」の後に来るのは誤りです。ここの議論の範囲では、完了形の場合だけに使われると考えて下さい(別の使い方もあるけど、それは自分で辞書で調べて下さい。全く別の用法です)。
forは期間あり。継続過去完了。I lived here in 1950.文法は追認。広く使われている。意思疎通が出来るこれでいいと思います。つまり的確に通じるこれが一番です。
このような言い方でお解かりくだされば幸いでございます。I'd lived here for 3 years since 1960.変ではないでしょう。
心苦しくないです、私の間違い,sinceは完了形に使います之は丸.agoはペケ。since 3 years before今度はいけるうと思います。辞書無しですが。パソコンの中にありますか?
