Anonymous:
Hi, I've this problem with prepositions used in present perfect. When do we use 'in' and 'for'? For example I can say "I haven't seen her in a while" but I can also say "I haven't seen her for weeks". Or maybe I'm wrong? What's the rule for these prepositions? Thanks
The prepositions don't depend on the case, they depend on the time.

I'm afraid there aren't rules, because the formatin is rather idiomatic. You have to learn them each in their own context.

I was born in 1966. I was born in May. I was born on the 23rd. I was born at 11:41 at night: In for year and month, on for date, at for time... you can see it's variable.

"For weeks" means a duration of a few weeks. "In a few weeks" means at the end of a few weeks.

"I'll be away for a while" means for some undetermined period, I will be gone. "I'll go away in a while" means after some undetermined period, I will leave.
Veteran Member27,495
Proficient Speaker: Users in this role are known to maintain an excellent grasp of the English language. You can only be promoted to this role by the Englishforums team.Retired Moderator: A moderator who has retired.Trusted Users: Trusted users are allowed to use additional capabilities of the site such as private messaging to all users and various other advanced features. You cannot join this role unless you are promoted by an administrator.
I'm afraid sympathy is about all I have to offer. The problem isn't restricted to the present perfect. I've spent a lifetime learning which prepositions go with which other words on a case by case basis. My brief experience on this site has taught me how difficult it is to generalize about prepositions.

For example, you can reverse the prepositions in your two examples with no change in meaning. (I haven't seen her for a while. I haven't seen her in weeks.) Both are commonly used.

In other examples there might be a slight change in meaning. In still others, the switch would not be allowed, although logically you'd say it should. My feelings are the same as yours. My feelings are similar to yours. My feelings are the same to yours. My feelings are similar as yours. (The last pair would not be allowed.)

I think you just have to learn the applicatations one by one. Perhaps someone on the team can give you better advice.

- A.

Edit. (just saw GG's post) If you swap in and for in her last two examples, "I'll go away for a while" is a very common expression with a new meaning. "I'll be away in a while" is logically possible, but unheard of.
Veteran Member20,911
Moderator: A super-user who takes care of the forums. You have the ability to message a moderator privately should you wish. These users have a range of elevated privileges including the deletion, editing and movement of posts when needed.Proficient Speaker: Users in this role are known to maintain an excellent grasp of the English language. You can only be promoted to this role by the Englishforums team.
Anonymous:
Well, I didn't ask about all prepositions. I just wanted to know what was the difference between 'in' and 'for' using present perfect. You gave me really easy examples on using 'at' (11:41) and 'in' (1966) but that was basics. I still don't know if I can use 'in' and 'for' alternatively. I mean, I heard a phrase like "I haven't seen her in years". I guess I could say "I haven't seen her for years" with no change in meaning at all. Am I right?
I heard a phrase like "I haven't seen her in years". I guess I could say "I haven't seen her for years" with no change in meaning at all. Am I right?
Yes, that's right.

It seems to me that for is the general purpose preposition for this situation.
In contrast in seems to be associated with non-assertive contexts, and (slightly) preferred there.

So I've done that for years is possible but *I've done that in years is not.
I haven't done that for years and I haven't done that in years are both fine.

You might say I've struggled with this problem for months, but not *I've stuggled with this problem in months.
Sentences like It's the only one I've seen in years are fine. It is not an assertion of 'seeing it for years'. It's non-assertive.

CJ
Veteran Member53,250
Moderator: A super-user who takes care of the forums. You have the ability to message a moderator privately should you wish. These users have a range of elevated privileges including the deletion, editing and movement of posts when needed.Proficient Speaker: Users in this role are known to maintain an excellent grasp of the English language. You can only be promoted to this role by the Englishforums team.
Live chat
Registered users can join here