A friend of mine showed a video on her Facebook wall post. She posted this:
I had a dinner with Chinese friends, I was happy at that moment!!
Should it be "I was having a dinner" instead of "I had a dinner"?
Your friend's sentence, as she wrote it, is fine structurally (although not perfect). Both of the sentences "I had a dinner with Chinese friends" and "I was happy at that moment" refer to a specific point in the past -- the time of the dinner. Although your intuition is that the verbs should match (i.e. you should use was twice), in this case the parallel is:
So, the verb tenses match. Was is the past tense of "to be", and had is the past tense of "to have".
I'd suggest I was having dinner would be more idiomatic. For some reason one has dinner, has lunch, has breakfast, and so on. But one would have a feast, have a slap-up feed, not have feast.
If one is providing the entertainment, though, you would say giving a dinner, giving a luncheon.
If anyone knows the reason for any of this I'd be interested to hear it.
It should be I had dinner.
Two reasons for this. First up, "dinner" is an uncountable noun, and uncountable nouns do not need articles or determiners, (e.g. Water splashed all over me/no article needed.). That's why it's "I had dinner".
Second, it's "had" because obviously she ate her dinner in the past, that is, she wasn't having her dinner at the time she was posting her Facebook message. The dinner had already finished by then. Since it was in the past, a past tense verb is needed, and the past tense of "have" is "had."
So, it's "I had dinner".
Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.
Would you like to answer one of these unanswered questions instead?