【Whenの疑問文】過去を尋ねる場合、現在完了を用いることある?

時制

When …? という疑問文が過去のことを尋ねる場合、現在完了時制を用いることはなく、過去時制を用います。

[ 誤 ]

When have you seen him?

(彼にいつ会いましたか?)

[ 正 ]

When did you see him?

(彼にいつ会いましたか?)

これは、たとえば返事に、

I saw him yesterday.

のように特定の過去の時を表す副詞を用いて過去時制で答えることを考えてみれば、その理屈がわかると思います。

すなわち、この場合、When は特定の過去の時を問う疑問副詞なので、当然、過去時制を用いることになります。

define と refine の違い (日本語の意味が、全く異なる英単語)