- The dancers have rehearsed the ballet for almost three hours.
- They have displayed new CDs since Friday morning.
- She hasn't talked to her brother since he broke her cell phone.
At first glance they seem to be fine, for example, "The dancers have rehearsed the ballet for almost three hours", seems to imply that they started 3 hours ago and they are still rehearsing. But something tells me that it should be, "The dancers had rehearsed the ballet for almost three hours", which also sounds correct, implying that they started some time ago, they rehearsed for 3 hours, but they have stopped since then. The other sentences have a similar structure.
QUESTION: Taking sentence #1 as an example,
- The dancers have rehearsed the ballet for almost three hours.
- The dancers had rehearsed the ballet for almost three hours.
without any other context, taking them (#4, #5) as standalone sentences, are both of them grammatically correct? If not, which one is correct and why?