Arguably you never finish "learning programming". I've been a professional web developer for 17 years and I need to learn new things all the time.
Pretty much anyone can get to "hello world" and do a few basic things in an hour or two. To get a decent understanding probably takes a few weeks. There are high-intensity hands-on training courses that get you building a simple app in a couple of months. University takes 3-4 years and goes much deeper into theory; but people come out with essentially no _experience _and have to start learning a whole range of complementary skills. Truly mastering the craft can take a whole career.
There also learning something to a standard where you can do it professionally, vs learning enough to do a hobby project, vs learning just enough to properly understand what other people are doing with it.
Also it's different for everyone. I know some people who can pick up a new programming language in a couple of days; but most of us mortals take a lot longer than that. I can pick something up much faster if I'm interested, vs having to pick it up when I really don't want to but have to get it done.
So in the end, it depends how you define "learning programming". I'd also say... if someone is interested they should just start. The sooner you start the sooner you learn; and the sooner you realise what you want to learn next.