I know that the adverb "when" can not be used in questions referring to present perfect. I have referred to many grammar books such as Raymond Murphy's and Micheal Swan's and all those books say that "when have you come" is wrong but they haven't explained any reason for this. The other "wh" words like "why" can be used in the present perfect. I know that " when" can be used in all the tenses except the present perfect.

I have heard this expression from some speakers in India. I would like to know whether "when" is used in the present perfect in questions by the native speakers. If not ,is it a matter of grammar or usage.

The question is not a dupicate because Iam not asking the difference between "when did you come?" and "when have you come?"

I would like to know only why it is wrong?

  • I wouldn't say that When have you come? is ungrammatical, merely that it's unusual—and something that might have been used hundreds of years ago, but would not normally be used today (but still might be in some contexts). Then again, this could come down to your definition of wrong. – Jason Bassford Aug 25 '19 at 5:47

It is not grammatically incorrect to use when with present perfect, but there are not many situations when it would work.

ef.com provides a summary of situations when we use present perfect. I have annotated each one to explain whether it would be valid for the sentence "When have you come?"

ACTIONS STARTED IN THE PAST AND CONTINUING IN THE PRESENT - not appropriate because come is a completed action

WHEN THE TIME PERIOD REFERRED TO HAS NOT FINISHED - not appropriate because come is a completed action

ACTIONS REPEATED IN AN UNSPECIFIED PERIOD BETWEEN THE PAST AND NOW. - this might work if somebody said that they had been to your house several times, but you were out each time.

ACTIONS COMPLETED IN THE VERY RECENT PAST (+JUST) - not appropriate, because if you knew somebody had just come, you wouldn't need to ask when they came.

WHEN THE PRECISE TIME OF THE ACTION IS NOT IMPORTANT OR NOT KNOWN - not appropriate, because you are asking for a specific time.

Note that, if a person came here and is still here, you would say "when did you arrive?". If a person came here and went away again, you would say "when did you come"

  • 2
    +1 . . . SUPPLEMENTARY, and more generally: In OP's case interrogative when asks for dates or times in the past, and therefore implicitly violates the principle that because the present perfect is a present tense, designating a present state, it cannot be used with temporal adjuncts which do not include the present. – StoneyB on hiatus Aug 25 '19 at 12:25

Your Answer

