Следующая каверза напрямую связана с предыдущей. Потому что правило согласования времён работает не всегда. Применять его будет довольно грубой ошибкой, если вы говорите о вещах, которые являются аксиомой, то есть, истинны во все времена. Сегодня, правда, всё можно подвергать сомнению, однако если вы начнёте согласовывать предложение типа He said London was a great city на контрольной, вам за это поставят минус, поскольку считается, что Лондон был, есть и будет замечательным городом. То есть он всегда is great. Поэтому в данном случае правильно He said London is a great city.
В связи с вышесказанным надо также помнить, что такие модальные глаголы как will, can и may имеют формы прошедшего времени would, could и might соответственно, которые следует использовать, если предложения согласуются: She told me she might come.
Кстати, ещё одна каверза связана с тем, что у таких глаголов, выражающих долженствование, как must и ought to, форм прошедшего времени просто нет. Поэтому нельзя сказать You ought to/must come yesterday. Для выражения долженствования в прошедшем времени с этими глаголами вам, скорее всего, придётся использовать так называемый перфектный инфинитив: You ought to/should have come yesterday. Глагол must в данном контексте вообще неуместен, поскольку выражает обязанность, а мы выражаем некоторое сожаление. В прошедшем времени глаголу must будут соответствовать формы had to или was obliged to.
При этом в косвенном предложении с прошедшим временем глаголы must и ought to используются, как есть: He said he must do it. Каверзы, каверзы…
Много сложностей, особенно у нас, у русских, вызывает выбор между английским обычным прошедшим временем (I saw him) и настоящим совершённым (I have seen him). Потому что на русский оба эти примера переводятся «Я его видел». И нам при этом не важно, видел ли я его вчера, или видел вообще. А вот для англичан именно этот момент является принципиальным при определении выбора. Если есть указание на прошлое, то перфект невозможен, и правильно только I saw him yesterday. Мы ведь не можем сочетать настоящее со словом «вчера». Зато если этого указания нет, тогда, наоборот, мы имеем в виду не факт (что я его видел вчера), а результат (что я его видел, и неважно когда): I have seen him.
Как частный случай предыдущего можно рассмотреть часы. Я имею в виду контекст, когда часы пробили, и мы говорим «Часы пробили». Фактически действие уже совершено, однако англичанин никогда не скажет The clock struck. Для него это действие совершилось, но только что, поэтому он скажет The clock has struck.
Когда в японском театре Кабуки с потолка опускается красный фонарик, зал смеётся. Не потому что действительно смешно, а потому что красный фонарик – сигнал для смеха. Таким же сигналом для использования совершенного (Perfect) времени вместо прошедшего или настоящего в английском языке являются, в частности предлоги for и since. Ну и что, что я знаю (know) его с (since) детства или вот уже (for) двадцать лет? Единственной правильной формой будет have know: I have known him since my childhood (или for 20 years).
Ещё одной крайностью, которую я называю «горем от ума», является наше желание использовать для выражения прошедшего времени («Я видел его вчера») не простого прошедшее (saw), а прошедшее совершённое (had seen). Английский вариант I had seen him yesterday у людей, познавших всё многообразие времён, почему-то не вызывает аллергии. А напрасно. Ибо прошедшее совершённое (фактически предпошедшее) используется только в тех случаях, когда из контекста понятно, что речь идёт о действии, не просто завершившемся, а к моменту в прошлом, типа I had seen him before you asked me («Я его увидел ещё раньше, чем ты меня спросил»).