The short version: Teach telling time in three stages: first the clock itself (hands, numbers, what they do), then hours, then minutes. Most kids need a week or two per stage. The number one mistake is jumping to minutes before hours are automatic. A cheap analog clock they can touch beats any app for stage one.
Before any "what time is it," let your child handle a real analog clock. Name the parts: the face, the numbers, the short hour hand, the long minute hand. Turn the hands together and watch the numbers go by. Ask them to make the clock show bedtime, lunchtime, morning. If this feels like play rather than a lesson, you're doing it right.
Cover the minute hand with a sticky note if you have to. Set the clock to 3:00 and say "the short hand points at the 3, so it's 3 o'clock." Practice o'clock times until your child can read any hour without counting. This is the foundation everything else sits on. Don't rush it; a week here saves a month later.
Now uncover the long hand. Teach that it counts by fives around the clock: 5, 10, 15, all the way to 60. Kids who can skip count by 5 already know this part. Start with half hours and quarter hours ("half past," "quarter past") before tackling times like 3:47. Reading "ten forty" as digits first is fine; "forty minutes past ten" can come later.
The fastest way to make time stick is to use it. "Dinner is at 6, what does the clock say now?" "Your show starts in half an hour, when will that be?" Two minutes of real clock reading a day beats a weekly worksheet session.
Tick Tock Time and Set the Clock start with o'clock and build up, Monster Wake-Up Clock makes reading time a game, and Time Sort practices matching clocks to times. The progression mirrors these stages.