taken from Mind Our English - The Star
COULD you tell me which of the following sentences are correct?
1. I saw him today.
2. I have seen him today.
3. I didn’t do any work today.
4. I haven’t done any work today.
5. We went to Singapore twice this week.
6. We have been to Singapore twice this week.
7. I didn’t have a holiday this year.
8. I haven’t had a holiday this year.
If all the sentences are grammatical, could you tell me what are the differences in meaning? – Daniel
1 & 2 – You can use both sentences, but in different contexts. Sentence 1) “I saw him today.” is more common. You can say that if you met a friend by chance or by prior arrangement earlier in the day, or you can say that in reply to a question like: “Have you seen Amin lately?” and you reply: “Yes, I saw him today, in the canteen.
Sentence 2) “I have seen him today.” is used only in certain contexts. For example, if a friend knows that you are in the habit of visiting your father who is in hospital, every day, he may ask you: “Have you seen your dad today?” and your answer can be:“Yes, I have seen him today. He seems much better than he was yesterday.” “I have seen him today.” is a confirmation that you have done what you habitually do every day.
3 & 4 – Since “today” is not over yet, you can’t use the simple past tense and say: “ I didn’t do any work today.”(sentence 3) because you might do some work later in the day. But you can say: “I haven’t done any work today.” (sentence 4) because it means that up to now (e.g. 2pm today) you haven’t done any work, but you may do some later.
5 & 6 – These two are similar to 3 & 4. “This week” is not over yet, and you may go to Singapore a third time, so “We have been to Singapore twice this week.” (sentence 6) is the correct sentence to use. It states the situation more accurately, i.e. up to now this week, we have been to Singapore twice. We may go again, who knows?
7 & 8 These two are similar to 3 & 4 as well as 5 & 6. You can’t say: “I didn’t have a holiday this year.” (sentence 7) because this year is not over yet. You can say “I didn’t have a holiday last year.” because last year is over and done with. So when talking about not having a holiday this year, you have to say “I haven’t had a holiday this year.” (sentence 8) Who knows, later in the year, you might have one.
Having said all that, I think it can still be argued that – if you are saying sentence 3 at 11.59pm today, or sentence 5 very late on Saturday this week, or sentence 7 very late on Dec 31 this year – you may be right!