Hi Forum,

I'm glad I've come across this forum and I hope you guys can help me out of my confusion. In advance I want to kindly apologize for any idiosyncracies concerning my English. I'm an university student of English at Freiburg, Germany and although I've been learning English for more than 12 years now there may still be subtle or not so subtle mistakes.

I will have to take an exam on monday which involves translation from German into English. I'm allowed to use dictionaries, but finding the right tense choice is a thing which still troubles me from time to time. When I was at school I thought I had mastered the tenses, now at university we get way deeper looks into the tenses and it has started to confuse me a bit.

I'd like to ask about the correct use of the Present Perfect tense vs. Present Perfect Progressive and, accordingly, Past Perfect vs Past Perfect Progressive.

I think I roughly know how to use Present Perfect. It's used when the duration of an action doesn't matter but the result of an action. "I have cleaned the car" --> result: it is clean now.

If I want to express duration, I'd use the Present Perfect Progressive. "I have been cleaning the car for 2 hours" (and still haven't finished cleaning).

Well, now I had to read that also the present perfect can express duration with "since" or "for"..

Example: I have had this car for two years...

That kinda is a contradiction for me, because I always thought that duration is expressed with the progressive form.

Compare: It has rained a lot. Look at the puddles (result) vs. It has been raining for 10 hours (duration).

Moreover, I have kind of learned by heart that whenever I want to express an action that started in the past but is still ongoing today, I should use the Present Perfect Progressive.

Thus: I have been playing the piano for 17 years. Comparing this sentence with the example from above (I have had this car for two years), what would change if I said "I have played the piano for 17 years"?

This affects past perfect and past perfect progressive accordingly.

I'd be so happy if I could get competent answers here!

Thanks a lot in advance!