Let me give some examples to give you guys a good idea of my question.

My friend says that a sentence like this sounds weird.

  1. I have built my house for 2 years.

He says I should say this.

  1. I have been building my house for 2 years.

I understand why the sentence he gave me is correct. I do not understand why they cannot both be used because of these two sentences.

  1. I have lived here for 2 years.

  2. I have been living here for 2 years.

Native speakers tell to me that these mean almost the same.

Why is "I have..." not acceptable for the first sentence. How does this apply to other sentences?

  1. I have slept for 2 hours.
  2. I have been sleeping for 2 hours.

One is not okay?


For in this context means "over a period".

The perfect simple is inconsistent with this, except for verbs that typically extend over a period, like live and want; or for an iterative or habitual sense (eg "I have been building houses for three years").


Present perfect continuous is used to suggest the action is unfinished whilst "have built" means the action is finished and you are focusing on the result. "I have been building this house for 3 years" "He has built over 100 houses"

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.