Basically, you shouldn't use the present perfect tense with a specific time reference:
wrong: I have seen that movie yesterday
right: I have seen that movie before/several times.
wrong: I have had dinner with him last night/Tuesday evening
right: I have had dinner with him on many occasions/several times in the past/often
This is an over-simplification, but it holds true.