So, time is apparently messed up or something. No one is the age someone else would expect them to be. Like for me -- you should be 25 because we both just had birthdays a few weeks ago. But you're 22. Harry should be 21 -- again, we just had birthdays -- but he's only 19. Same with Ron and Hermione. And then there's the kids....
It makes no sense. Don't think too much about it or you'll go crazy.