Possible Duplicate:
Present perfect tense versus past tense

Here is the example:

I haven't spoken any English for more than 3 years.


I didn't speak any English over the past 3 years.

Which sentence sounds more natural and appropriate? Are there any grammatical problems here?


2 Answers 2


In UK English, the first would be more common; using the preterite (as in your second example) tends to conceptualise the event as 'completed and detached from the present for the purpose of what I am saying', and this contradicts a little the inclusion of "for the past 3 years", which is a time reference whose endpoint is anchored in the present.

However, as I understand, the second sentence would be more possible in US English, where there isn't such a correspondence between preterite and 'anchoring in the non-present'.


The Present Perfect is used to express actions ("not speaking" is an action, even if it sounds like it's "not" an action) that happened "until now", and which may or may not continue into the future, so it adds a time element without the need for further words.

The Simple Past is used more to talk of actions that "finished before now", so it needs additional words to show that the action finished only very recently, or that it may reoccur in the future.

That makes the Present Perfect more efficient in explaining the case given (and less work, if writing it), but not more understandable -- and being technically more efficient isn't always for the best, when it comes to explaining things.

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