Q) Which is the correct expression, ‘take dinner…’ or ‘have dinner…’ at 9 pm?
A1)
Tony Walton, lives in North Yorkshire, UK
Oh Lord. Another question about “correctness”.
Either is “correct”, however “taking” a meal or food is, in British English at least, a very old-fashioned way of putting it.
Think Downton Abbey, and perhaps not even then.
So outmoded as to have become a parody of “high class speech” nowadays.
I've noticed, though, many questions from Indian Quorans about “taking” foods, so I'd guess it's a more standard usage in that part of the world.
Drugs taken by mouth (prescription or otherwise) are “taken”, though.
take(have) a drug
have(have) foods
A2)
Take dinner is old fashioned and you’ve probably read it in books.
Nowadays people would say they would “have dinner at 9pm” unless they were from the north of England when they would be more likely to say that they would “have tea at 6pm”.