Which sentence is correct:
"I have been having classes for three months."
"I have had classes for three months."
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It only takes a minute to sign up.Sign up to join this community
The following sentences have two distinct but related tenses. Though people may be tempted to say the sentence with having is the continuous one, they'd be mistaken. In fact, they're both in a continuous tense!
- I have been having classes for three months.
- I have had classes for three months.
So how do they differ? Let's illustrate with their non-continous forms.
- I have read that book several times.
- I had read that book before.
Here the difference seems, though trivial, obvious. First, the tenses are different, but the sentences also changed to conform to the tense. The first sentence is in the present perfect tense. This tense expresses that something already happened at an unspecified time before now and its form is
[has/have + past participle]. The second sentence is in the past perfect tense. This tense expresses that something occured before another action or time in the past and its form is
[had + past participle]. Now let's look at the continous forms.
The form of present perfect continuous is
[has/have + been + present participle] and expresses, like the present perfect, that something happened at an unspecified time in the past BUT, unlike the present perfect, it is an event that has continued up until now. The form of past perfect continuous is
[had been + present participle] and expresses, like the past perfect, that something occurred before BUT, unlike the past perfect, it is an event that has continued up until another time in the past.
So, to summarize what I've said in simple terms:
I have been having classes for three months.
says that you started classes in the past and are continuing them into the present, which is three months after you started.
I have had classes for three months.
says that you started classes in the past and continued them, as opposed to dropping out, in the past until a total length of three months.
These sentences don't seem too different because a specific time length is specified (for three months) However, the second sentence seems to imply that you will drop out of the classes now since you've already assigned it as an event in the past though you have been continuing this activity. Hope this helps ;-)
The first sentence is wrong because have is a state verb. Hence it cannot be used as a continuing action.
For example you don't say "I am needing this or that". You simply say "I need this or that".
So when we need to use them (state verb) in perfect continuous form then we write them in perfect tense therefore perfect form sometimes suggest incomplete action.
I have had classes for three months. (Right sentence)