Why do we use the indefinite article in the expression "have a good time"? Time is an uncountable noun, and we never say "what a beautiful weather!", but "what beautiful weather it is!"
Could anyone explain it to me?
Time is uncountable when it describes the abstract concept, but it is countable when used in contexts such as this. We can have a good time, but we can also speak of good times and bad times. A good time makes a generic reference. That is, in the words of the ‘Longman Student Grammar of Spoken and Written English, it
refers to the whole class, rather than just one or more instances of the class. In English all three articles (a/an, the, and zero) can be used for generic reference . . . A/an is used generically with singular countable nouns, and designates ‘any person or thing of the class’.
Although time can be a mass noun, in this case it isn't. It means occasion or period, both of which are countable.
time sense 2:
• (a time) an indefinite period:
travelling always distorts one's feelings for a time
And there's Dickens:
It was the best of times, it was the worst of times...