Why is using "have" or "have had" necessary? [duplicate]

I have walked downtown every day for a year.

The "perfect" part of "present perfect" means that the action has been completed. You are saying that your action of walking downtown every day for a year is complete (which doesn't mean that you won't keep doing it).

The "present" bit means that the action has been completed in the present. Let's contrast it with the past tense:

I walked downtown every day for a year.

There is no longer a time frame here. This might have happened years ago, for all we know.


As a side note, please refer to Brians's Common Errors on the subject of "everyday".


The present perfect is used for unfinished or undefined time. I don't think your example is correct, since for a year is understood to be a finished time. A time period of one year. It would have been correct if you wrote:

I have walked downtown every day this year.

In that case you'd have unfinished time. The time period would be up to and including now. If you used a defined and finished time in the past like last august, then you'd have to use the simple past.

I walked downtown every day last August.

Since last August is finished time, you have to use the simple past.


  1. The present perfect is used to show that the event's timeframe started sometime in the past and continues into the present (and possibly will continue beyond).

  2. It is also being used to denote the connection to the present. That is the focus is on having the experience of walking every day for a year.

Contrast this to the simple past which only shows the event happened in the past. We do not know when it started, nor do we know how it is connected to the present. Additionally, the focus is on the simple fact that the event happened, not how it changes things for you in the present.

Arguably, if you really want to show the event continues through the present, you'd want to use the continuous, but that's a side note.