There are two sentences that seem close to one another, yet somehow feel different. Since I am not a native speaker I thought that presenting the sentences here may shed some light on the matter.

Take a look at these two sentences:

  1. I have done something for two years. (I have lived in Beijing for two years)
  2. I have been doing something for two years. (I have been living in Beijing for two years)

Are these two sentences interchangeable without context?
Can the first sentence imply that something has been done for two years in the past and it is not a recent action?

For example: I lived in Beijing from 2003 to 2005 = I have lived in Beijing for two years

  • 1
    Thank you so much for responding. So, what I understood from your answer is that In a day to day usage the two sentences may seem identical but in a Formal context when every word carries meaning they can be different Commented Jul 20, 2022 at 20:54
  • 3
    Context is always important. They may be interchangeable in certain contexts but not all.
    – Jim
    Commented Jul 20, 2022 at 22:00
  • 1
    @tchrist How is "have eaten" present tense, please? Commented Sep 8, 2022 at 19:02
  • 1
    @RobbieGoodwin Because I had eaten is the past tense, and I have eaten is the present tense. The word eaten does not matter. It has no tense. Like all English verbs part from the defective ones, to have has two morphological tenses: one for the past and one for everything else. So those are your own choices, and have is present tense, not past. Were it past, it would have been had.
    – tchrist
    Commented Sep 8, 2022 at 20:56
  • 1
    While I agree with you, @tchrist, I don't think your comments are helpful to the questioner. The aspectual constructions have X-en and be X-ing, (and their combination) have unfortunately been referred to as "tenses" for centuries, and learners are generally saddled with that idea. You are responding to a genuine question by saying "you're using the wrong words, so I'm going to ignore your question, and explain (without actually explaining) why you're using the wrong words to ask it."
    – Colin Fine
    Commented Sep 8, 2022 at 22:26

2 Answers 2


Like most aspectual questions in English (simple vs continuous, perfect vs simple) the difference is generally not in the objective events or circumstances described, but in how the speaker is choosing to present them - in this case, as a single event, or as a continuing event.

Depending on context, there might be consequences of the choicen or there may not: in the case of "lived/been living in Beijing" I can't think of any, though.


(1) I have done something for two years. (I have lived in Beijing for two years). (2) I have been doing something for two years. (I have been living in Beijing for two years)

Sentence (1) is in what is usually described as the present perfect. Sentence (2) is in the present perfect continuous, also know as the present perfect progressive. Many texts and web source describe these as "tenses". More modern grammars often refer to the difference between a simple, perfective, and progressive construction as a matter of aspect. This difference of terminology does not affect the usage of these forms.

Sentence (1) and similar perfect forms are most often used to refer to an action started in the past and continued over sa period of time. It can be a period already ended. oner continuing up to the present and perhaps not expected to stop soon.

Sentence (2) and similar progressive forms are most often used for an event or process started in the past, and continued through the present.

If a person began living in Beijing two years ago, and is still living there, either (1) or (2) could be used, with a slight change of emphasis being the only difference. However if A person moved to Beijing five years ago, and left again 3 years ago, sentence (1) would still be appropriate, but (2) would not, or at least would be very unusual. One cannot tell from (1) if the speaker is still living in Beijing, but two strongly implies that s/he is.

See also "Have been doing" and "have done"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .