In India, we normally use the word “dinner” to refer to a meal that we have in the evening.
In Britain, it is the main meal that is referred to as “dinner”. Whether you have the main meal in the afternoon or in the evening, it does not matter — it is dinner.
A “supper”, on the other hand, is always a light meal taken in the evening. Americans tend to use this word rather than dinner. The word dinner is considered to be more formal than supper; when you invite guests over, you usually ask them to have dinner with you.