英語
高校生

I slept only two hours. とl slept only for two hours. は,どちらの方がいいのですか?また forはこの位置で合っていますか?

回答

文法の理屈として正しいのは
l slept only for two hours. だと思います。
forの位置はそれで正しいですよ。

時を表す前置詞は間違いようがない状況であれば省略されることがありますね。
だからforがなくても間違いとも言えないです。
「〜時間」「〜分」に限らず、たとえば
I studied English hard yesterday.
という文も、
yesterdayは名詞だから前置詞が省略されていると考えていいでしょうね。
省略するのが当たり前すぎて合う前置詞を考えるのが逆に不自然ですが、on yesterday ですかねぇ。

「間違いようがない状況であれば」というのは、例えば
for two hours(2時間のあいだ)と
within two hours(2時間以内)では
言ってることが明らかに違いますね。
状況によっては前置詞がないとどっちのことを言ってるのかわからない場面だってあるはずです。そういう場合は前置詞を省略することはないでしょうね。

この回答にコメントする
疑問は解決しましたか?