When something happens in past and still has relevance in the present, we usually express it with the present perfect. But actually this doesn't tell us when exactly the action happened, it may have happened recently or earlier. So sometimes it's hard for me to determine the time interval of the sentence as sometimes the intervals are not salient enough and actually I'm not native speaker. Examples : - We are at a party and my friend says to us "I've prepared a great program for today's party " so what's the interval and why didn't he use past simple? - I was at my friend's house and he was showing me his new picture, he said "Look, I've painted a new picture". So I don't know when he did paint the picture so how can I determine the interval?
In English, we don't have distinct tenses for "long ago" or "recently" or "soon" or similar periods. We do have tenses for "completed in the past" and "begun in the past and continuing" and "beginning now" and similar.
The only way to express the time intervals you are asking about is through a more detailed narrative, and the only way to infer it is through context.
If the person does not specify the time interval, it's usually not important. Example:
The chef has prepared a wonderful dinner for us this evening
It doesn't matter whether the chef cooked the dinner this morning or last week or just now. The point is that it's been prepared, and we get to eat it.
Sometimes you can assume a time interval from context:
Shh, don't wake up the chef. He has been cooking all night.
From context the most obvious explanation is that it's now morning, and the chef was cooking the previous night. But this is more about logic than grammar.
For these examples:
- We are at a party and my friend says to us "I've prepared a great program [at some point in a past which is not specified by him or relevant] for today's party".
- I was at my friend's house and he was showing me his new picture, he said "Look, I've painted a new picture" [at some time in the past, where the exact time such as last week or yesterday is irrelevant].
The way to think about this here is to think of what is called: the time of speaking. In these two cases, the speakers wanted to indicate the past but did not want to indicate a specific moment in the past. It was not relevant to them at the time they spoke in the present. Had it been relevant, they would have used it.
Could the speakers have used simple past? Answer: Yes. It they had wanted to.
Have I explained this succinctly? [in the past right before this] I hope so. I tried to explain it clearly and succinctly [just a minute ago].
Handy reference pattern:
- Have you been swimming at the beach**? [specific time not important; the speaker just means in the past, so PP is used
Yes, I have. - When did you go swimming at the beach?
I went last week. [SP, specific time].