Or maybe better phrased as “I have been learning English since 2 years”. I took the example sentence from For - Since English Grammar Rules. From Dan’s answer I learnt that “learnt” is not short for “been learning”. It is interesting that it is used as an example of a correct sentence on the linked page.

The sentence should be “I have been learning English for 2 years”. As a native English speaker without an in depth understanding of how grammar rules work beyond “it doesn’t sound right”, I was wondering if there is an easy to understand explanation for what (and how) grammar rules should be applied when differentiating between “for” and “since” to describe how long something has been happening. I think StoneyB's answer to Proper usage of the word since largely answers this but I would like to know a little more about what the present perfect is and how it relates to this sentence construction.

As I seem to frequently encounter this confusion with ESL speakers, I was wondering is this a peculiarity of the English language that makes it difficult to translate? Is the grammar differences caused by the lack of a conceptual difference between “for” and “since” in other languages rather than just choosing the wrong dictionary word? If so, what is the best way to explain this?

  • You have finished an action/task from a point in time in the past to now? Never knew you could finish something for a long time. Sep 15, 2017 at 8:49

3 Answers 3


In my opinion, the sentence has 2 issues.

  1. 'Have learnt English' implies that you have done with your learning 2 years before. In this case, if you want to express "something has been happening", you could put it as "have been learning English"

  2. 'Since' is used with a point in time. '2 years' is not a point of reference in the past. You could use "for 2 years" to indicate you've kept learning in the past 2 years. I am not sure if "since 2 years ago" works here. I saw some debates on the validity of "since 2 years ago" on some websites.

So, the whole sentence could be rephrased as: I have been learning English for 2 years or I have been learning English since 2 years ago.(I guess some would take issue with the latter sentence.)

  • Thanks for this: I was more interested in the background of the grammar rules (and the differences between languages). Also, does your point 1 mean that “I have learnt Russian for three years” on the linked page is an incorrect usage of “learnt”?
    – Rob
    Sep 16, 2017 at 14:45
  • The subject of the question sounds like a direct translation from German - in which you can use seit (= since) to refer to an event (e.g. seit dem Jahresanfang = since the beginning of the year) or to a duration (e.g. seit zwei Jahren = for two years). May 20, 2018 at 11:53

I have learnt English since 2 years

  • Since identifies a starting point in the past, not a duration. For X is used to express duration X.

  • If an action occurs over a duration rather than a point in time, the continuous/progressive form should be used. (It's very doubtful you instantly and completely learned English two years ago.)

I have been learning English for 2 years.

  • Part of what I am trying to figure out is what in English differs from other languages that makes it such a common mistake.
    – Rob
    Nov 25, 2017 at 17:32
  • @Rob That's difficult to answer - English makes sense to native English speakers. What is different in other languages that makes this such a common mistake when learning English? Oct 30, 2018 at 8:36

If you want usage following proper grammar, this is a definitive answer:

Since is usually/most commonly/should be used as a conjunction, in this meaning, and should be followed with a complete clause (full sentence)

I have been studying English since I came here two years ago.

Where I came here two years ago is a complete clause (complete sentence).

Note: We can also use a reduced Ving clause (higher level english grammar), if the subjects of both the clauses are the same:

(I) have been studying English since (I) came here.

Reduced to

I have been studying English since coming here.

There are other exceptions such as since yesterday since today which are common phrases almost accepted as proper English.

for is a preposition, in this meaning, and is only followed by a noun, to complete a prepositional phrase, like

I have been studying English for 2 years.

Where for is a preposition and two years is a noun creating a prepositional phrase

The usage precise difference between the prepositions for and in, is difficult to pinpoint, you could say usage depends on US/British/Australian English, and certain phrases may tend to use one over the other.

As for I have learnt:

It is unclear with present perfect, in this case, if your meaning is that sometime in the last 2 years, you have accomplished your goal, or not, so this tense is very very unclear, unlike this statement "I have killed a boar in the last 2 years". Also, the since, implies an ongoing even happening since some period up to now, and with the verb study, we choose to use the continuous tense to ensure people understand it is a continuing action before to now (yes, native speakers use the present perfect continuous tense often). Therefore, a native speaker would choose another tense to give a more precise meaning.

Instead you, probably meant, that these past 2 years, you were doing something, therefore, present perfect continuous tense, which stresses that the action has been continuous, is appropriate.

I have been learning English since I moved here.

Definitely ongoing

  • As a native speaker I disagree somwhat with the "since" as a conjunction statement. I find "since" perfectly natural and most often used with a point in time: "since 8am" or "since the first of January 2016" or "since that day that it rained so much" are all equally valid. Oct 30, 2018 at 8:34
  • Sorry, yeah ,since can be used with a point in time... I will update my answer
    – sboy
    Nov 1, 2018 at 6:43

You must log in to answer this question.

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