"How long will it take to make, anyway?" said Harry as Hermione, looking happier, opened the book again.
"Well, since the fluxweed has got to be picked at the full moon and the lacewings have got to be stewed for twenty-one days ... I'd say it'd be ready in about a month, if we can get all the ingredients."
"A month?" said Ron. "Malfoy could have attacked half the Muggle-borns in the school by then!" But Hermione's eyes narrowed dangerously again, and he added swiftly, "But it's the best plan we've got, so full steam ahead, I say."

Why "could have attacked..." is said in the Past Perfect tense? Ron obviously meant the future while saying it.

1 Answer 1


Let's take this one step at a time.

He will do it

This uses future simple to describe a future action. If you want to set a deadline for the action, you can express it in two ways:

He will do it by Friday
He will have done it by Friday

Both of these say that the action will be carried out by Friday (the one at the end of the current week, so it's in the future), but the second version uses the future perfect to emphasise the completion by the deadline, rather than the action itself. Note that the grammatical term perfect is derived from the latin word perfectus which means completed.

He could have done it by Friday

In this context, could is a modal verb relating to possibility, so this sentence means that it it possible that the action will have been completed by Friday.

He could do it by Friday

This sentence could be taken in the same way, but lacks the element of completion.

  • 1
    +1 Great Answer! Could we use "might" instead of "could" here? Commented Mar 27, 2017 at 7:57
  • 3
    @SovereignSun: may or might could indeed be used, and would express a somewhat lower probablility.
    – JavaLatte
    Commented Mar 27, 2017 at 7:59
  • 1
    You can also use "should have", expressing a higher probabilitiy.
    – alephzero
    Commented Mar 27, 2017 at 9:33
  • 3
    @costrom "Next Monday we should have already finished Part A, so we'll begin Part B"
    – Sabre
    Commented Mar 27, 2017 at 13:21
  • 2
    @BiT4000 No, in these examples Friday is still in the future. This is why the tense is called "future perfect" in the examples.
    – Sabre
    Commented Mar 27, 2017 at 13:21

You must log in to answer this question.

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