Student or Learner
Which one is correct?
Tom turns 18 next year.
You should have known that Tom is still underage. You shouldn't have offered him a drink last night.
You should have known that Tom was still underage. You shouldn't have offered him a drink last night.
Last edited by RobertT; 13-Oct-2010 at 05:53.
Could you explain why it is correct?
By saying "You should have known" implies a past-tense sense, so why is the sentence perfectly fine?
You should have known if Tom was still underage
But this is not necessarily so in reported speech, where listeners tend to interpret should in the sense of ought to(Idiomatic use). So when the matter refers to now/present situation, use of present tense is appropriate.
If "should have" were used to refer to the present, then there would be no difference at all between "should" and "should have".