1. I am walking.
  2. I have been walking.

I know those sentences have the same meaning. But under what context is it better to use one rather than the other?

Maybe below.

  1. I am walking for more than 2 hours. (Wrong!)
  2. I have been walking for more than 2 hours. (Correct?)

Are perfect constructions always better when you have a time-point reference this way? And if so, does this only apply to the present tense, or is it the same in the past tense? If it were not in the continuous aspect, would that impact optimal choices here?

  • 1
    They don't have the same meaning unless (2) is followed by a time period or 'since [the starting time]'. Nov 30, 2022 at 9:26

2 Answers 2

  1. I am walking for more than 2 hours. (Wrong!)

As it stands it is wrong, but add a frequency adverbial and it becomes right.

  • I am walking for more than 2 hours every day.
  1. I have been walking for more than 2 hours. (Correct)

a) It is not better, it is merely the only possibility. b) You do have a time reference, which is "now", when you use the present progressive ("I am walking."). Using the progressive you define the action as having lasted for some time to the present time, still being carried out and supposed to go on for some time in the future. If you use the present perfective you do have a time reference, which is again "now", but you use this tense to define an anterior time zone within which the action takes place; since you use the present this zone extends from some time in the past up to the present.

When you use the present progressive (present continuous) you combine the two aspects in the same verbal phrase, and you have a time reference, which is again "now". However, things are not that simple: the meaning is not entirely predictable from the separate meanings. In this sentence, without more context, it is no possible to say whether the walking goes on after the act of elocution or whether it stopped then.

If you want to insist on what you have been doing before the time present and up to this time, then the present progressive is the solution, whether you go on doing it or not.


To have done something puts it into the past. I have been walking means I was walking up to just a minute ago. If I am still doing it then I am walking, now, in the present. To tell the story "I am walking [present] and have been walking [past perfect] for the last two hours."

Leaving out the past or past perfect tense is what I hear from older people who never learned it well in English or perhaps began with another language. One elderly man told me "I have know him since I am ten years old!" Here the meaning is clear but all hopes of putting the tense right have been abandoned.

  • Tense is a function of finite verbs, not of nonfinite verbs. He has decided to go is in the present tense, not in the past tense. The past tense needs the finite verb to suffer morphological inflection into the past: He had decided to go. Whereas He has been thinking about leaving for a long time is also still the present tense thanks to has. The participles are all non-finite and therefore they can have no tense themselves.
    – tchrist
    Nov 30, 2022 at 3:36

You must log in to answer this question.