- Have you called me last night?
- Did you call me last night?
What's the difference between these sentences?
- Have you called me last night?
- Did you call me last night?
What's the difference between these sentences?
The only possible sentence out of the two is this one:
Did you call me last night?
The sentence
UNGRAMMATICALHave you called me last night?
is ungrammatical because last night makes explicit that the situation finished at some point in the past – in other words, that we're concerned with a finished time – which the present perfect isn't normally used to refer to.
Instead, use the present perfect to refer to a stretch of time which hasn't finished at the present moment; note that this doesn't preclude you from using time adjuncts such as last night if you ensure the present perfect refers to a period of time until now, which you can do, for instance, by combining it with since, as shown in this sentence:
I haven't seen him since last night.
For more information about the perfect tense, read our canonical post.