Firstly, it is certainly the case that the present perfect (simple or continuous aspect) is normally used when there's 'for + a period of time' - but only if that period of time extends up to the present. For example:
- My sister has gone to New York for a week. (she is still there)
- I've been playing golf for 25 years and I'm still no good.
But the past tense is the appropriate tense with expressions of finished time starting with for:
- My sister went to New York for a week. (she is no longer there)
- I played golf for 25 years but never got any good.
The issue is complicated however (as @JD2000 indicates in the comment) by the fact some Americans may use the past tense where Britons would typically use the present perfect.
Swan, in the section about the grammar differences between American and British English (Practical English Usage - page 51), has the example:
American English: He just went home. (Or He's just gone home.)
British English: He's just gone home.
As Swan says:
In many cases, two different forms are possible in one variety of
English, while only one of the forms is possible or normal in the
It's worth noting that the addition of the word just makes the past tense version somewhat more acceptable to me as a British native speaker who would normally use the present perfect in this context:
- My sister just went to New York for a week. (i.e. she is still there)