Student or Learner
1"Did you read your new book yesterday?"
2"Have you read your new book yesterday?"
Which is better?
Have you read your new book?
To be clear: When you include a specific reference to a time in the past, you don't use the present perfect.
I have eaten at this restaurant before.
I ate at this restaurant yesterday.
NOT: I have eaten at this restaurant yesterday.
They have lived in the US for ten years, one month and three days.
That cat cat has eaten your supper. (finished action - present perfect)
I ate the last of the eggs this morning. (finished action - simple past)
I think I'm agreed with Barb_D...I don't think by definite time (in case with simple past) we mean "a period of time continued till now", but a limited duration of time, finished in the past; We should note that "present perfect" is used when the event happened in past but brings a result connected to the present, and by saying "That cat has eaten your supper" we're giving a piece of news, and by hearing "They have lived in the US for ten years, one month and three days" we infere that they're still living there while by using a specific time with a simple past, as Barb_D put it, we mean the action started and finished in the past...To sum up "present perfect" is used for Sth having happened in the past with a result for, or connection with present, while "simple past" is used for completd past actions...
I'll rephrase - a definite time in the past, not a defined period of time up to and including the present.
EDIT: Oh, sorry - that's just what the poster above said.