How long have you been playing the violin?
(あなたはどのくらいヴァイオリンを弾いていますか。)
I have been playing the violin since I was a child.
(私はヴァイオリンを子供のときから弾いています。)
I have been studying English for six years. But I can't speak English.
(私は英語を6年間勉強しています。けれども英語を話すことができません。)
現在完了進行形には、その継続を表すために「since」や「for」がよく使われます。
現在完了進行形(その2)
ここで、動作を表す動詞を進行形にする場合と、しない場合との意味の違いを見ていきます。
たとえば She has been reading a book.「彼女は本を読んでいました。」は、「何をしていましたか。」と聞かれたときの答えとして、進行形にした場合の例です。この意味は、聞かれたときに本を読んでいる最中ということになります。
しかし、She has read a book. のように進行形にしない場合(現在完了形)は、「彼女は本を読み終えました。」というように、「完了・結果」を表すことになります。
①I have baked the cake.と②I have been baking the cake.では、①は「ケーキを焼きました。」というように、「完了・結果」の意味になります。しかし、②は「ケーキを焼いていました。」という意味になります。それはちょうど焼き終えたところかもしれませんが、まだ焼いている最中かもしれません。