Which phrase is more grammatically correct?

1) I have been playing cricket for last 2 years.


2) I have played cricket for last 2 years.


The first one, I have been playing cricket for the last two years. sounds better.

I think it's because the I have played and 2 years somewhat conflict. I have played makes it sound like there was some point in time that you played, but you're not sure of exactly when, or not specifying. So saying you did for two years doesn't sound quite right.

However, your meaning would still be understood perfectly.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.