As I know 'for' shows incompleteness even with Present Perfect. And there's much difference between "I read that book in two days" which means "It took me two days to complete the book", and I read that book for two days" which doesn't necessarily mean completion. But, I don't quite get how to use Present/Past Perfect (Simple) with 'in' in positive sentences (as I know in negative sentences there's no difference).

I haven't had a vacation for ten years. (no difference)
I haven't had a vacation in ten years. (no difference)

Is this a correct sentences "Mary has written a composition in an hour" with the meaning that she started an hour ago, and has just finished a composition? If not, do we even use "in" with "PPS" in poisive sentences?

  • I don't see any difference between I read that book in two days and Mary has written a composition in an hour, though it would probably be more idiomatic to say Mary has finished a composition in an hour, (emphasising that an hour was all it took her). Mar 29, 2022 at 20:56
  • @KateBunting thank you. Is it a necessary condition that the action have started an hour ago for using "Smb has written/finished smth in + a hour", or not, and the action could have started much earlier? I mean: She wrote this in an hour (the starting point may have been an hour ago or much earlier), She has written this in an hour (the same, or not?) Mar 30, 2022 at 15:07
  • Yes, if the hour during which she was working was some time ago, you would say She wrote/finished it in an hour. Mar 30, 2022 at 15:29
  • @KateBunting sorry, I didn't mean that. Maybe I explained myself badly. I wanted to ask if I use Present Perfect with 'in' + a period of time, is it necessary that the action have started the exact same time ago unlike Past Simple with 'in': "I read the book in two hours yesterday." (It was 24 hours ago or so, not two hours ago). Mar 30, 2022 at 16:17
  • 1
    I have read the book in two hours would normally mean that you have just, or very recently, finished reading it. So you started exactly, or not much more than, two hours ago. Mar 30, 2022 at 16:31

1 Answer 1


There's the simple past: Mary finished the composition in an hour. If you're making an announcement, like "OK, people, Mary has finished," you wouldn't say "in an hour." You'd be talking about something that people want to know about that is ongoing. If you want to say it took an hour, you would add this information in a different way, as in an additional sentence. If you're trying to give the information that the length it time it took her was an hour, it doesn't make sense to use the "has" form. You'd just use simple past.

  • thanks. I thought the same that we should use Past Simple instead of Present Perfect with 'in' in positive sentences until I found this sentence from a native on Twitter: "These 3 American men have invaded 9 countries in 23 years, killed 11 million civilians and no one calls them 'war criminals'..." and when I found this sentence I didn't get why the writer hadn't used Past Simple, but Present Perfect. Do you have any ideas? Is the writer wrong? Mar 30, 2022 at 15:12
  • The idea would be that they HAVE invaded, etc. and are STILL invading...in the process of doing more. So if someone does something one time, like "she tied her shoe," once that shoe is tied, it's over, it happened once. But you could say "she had tied her shoe thousands of times," assuming she's going to keep tying. Hope that's clear. Mar 30, 2022 at 15:15
  • Does "I've read this book" mean that I STILL reading it? Why 'have invaded' + 'in' means that they're still invading? Is the point in the preposition "in"? Thank you for your help. Mar 30, 2022 at 15:22
  • You're not still reading, but there's nothing stopping you from reading it again. Likewise, if people have invaded countries in 23 years, unless they're dead or incapacitated, they can continue. That's WHY you'd say "have." You use the simple past the describe something that happened definitely and is over. I don't know how else to explain it--take it or leave it. Mar 30, 2022 at 15:33
  • But if I say "I read that book" there's nothing stopping me from reading it again, as well. When I say "I read the book" or "I've read the book" in both of these the action happened and is over. Mar 30, 2022 at 16:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .