I know that past adverbs can't go with present perfect like the following, but why is that? I think it's because present perfect is focused on the present, while past adverbs are focused on the past, so the two are contradicting each other.
And the other reason I learned in a grammar book is that if you use past adverbs, it's only restricted to a certain past point, while present perfect covers a longer period from the past point to the present time. What do you think is the primary reason?
ex)I have visited New York last year(or in 2010) (incorrect)
=> I visited New York last year(or in 2010) (correct)
There are no 'past adverb'. There is the past tense and the present perfect tense of verbs.
The rule is simple : where the time in the past is stated, in this case 'last year', you only use the past tense.
not a teacher
As Tedmc said, when the timeframe is included, you use the simple past tense.
I have visited New York.
I visited New York last year.
I visited New York a decade ago.
I visited New York three times in 2009.
I visited New York for the first time in 1998.
There is a slight exception to this when the timeframe includes an implied "until now".
I have visited New York three times so far.
I have visited New York four times in my lifetime.
The suggestion is that you might go to New York again but, so far, you have only visited a certain number of times.
I am not sure what you mean by the two tenses 'can't go together'.
As I said, if the time is stated, you use only the past tense.
But if the time is not stated, either tense can be use.
Ex. I went to New York.
I have gone to New York.
I visited New York
I have visited New York.
OK, I have been to New York.
'Have gone' does sound a bit unusual.
Bhai
Instead of just saying it is not correct, why don't you tell us why?
I don't think it's as simple as giving two versions of the reason and asking which is primary. They seem to mean pretty much the same thing: you have a verb form (or tense if you prefer) that refers to one time, and an adverb that refers to another. So we don't use them together.
But some languages do use the cognate to our present perfect together with cognate past adverbs. So maybe the "primary reason" is that English is more rational. That's unlikely.
I feel there's a problem with the concept of there being "primary reasons" for things being the way they are in a natural language.