Конструкции could have done и could do имеют следующие грамматические особенности:
- Could have done используется, когда речь идёт о прошлом и о том, что что-то было возможно, но не произошло. 12 Например: «Why did you stay at a hotel when you went to New York? You could have stayed with Barbara» (У тебя была возможность остаться с ней, но ты этого не сделал). 2
- Could do используется для описания возможных действий в настоящем или будущем, особенно в качестве предложения. 12 Например: «I’m so tired, I could sleep for a week» (Я так устал, я мог бы спать неделю). 1
Таким образом, основное отличие заключается в том, что could have done применяется к событиям в прошлом, а could do — к возможным действиям в настоящем или будущем.