Если учить времена, то понять и запомнить это довольно сложно. Изучать структуры языка надо по-другому: "плясать" не от теории, а от намерений, то есть того, что вы хотите сказать.
Например, простые времена это то, что выражает обычное регулярное действие в настоящем или прошлом, времена группы continues - это то, что происходит(происходило) в конкретный момент времени, perfect continues - это то, что когда-то началось и всё ещё продолжается(-лось) к определённому моменту, группа perfect - это результат к определенному моменту. Будущее простое время - это что-то, что возможно будет, а может и нет, а вот, если вы точно уверены, что будете делать, то это выражается через "to be going", или даже через настоящее время со словом, определяющим, что это будет в будущем, например, "tomorrow"-"We are flying in Moscow tomorrow". В русском мы, кстати, также говорим.
Структур много, всё расписывать не буду, потому что учил с помощью авторской методики. Но можно учить и с помощью учебников, обращая внимание не на времена, а на намерения.
Можно также найти в youtube открытую лекцию Яны Граусовой на эту тему - по-моему, что-то она выкладывала в открытом доступе. У меня правда есть претензии к её методике, но сама идея для меня оказалось именно то, что так не хватало для понимания.
To Moscow, а не in Moscow.
Чрезвычайно доходчивый пример разбора на одном предложении с русскими комментариями, осторожно, 18+. На мой взгляд, тут самый адекватный комментарий по смысловой разнице между временами.