How long does learning a language take?

Many of us starting out to study a language say that we will know it in XYZ months or years.

But how long does it really take to master a foreign language? Ads claim you will be fluent in 3 months, a ridiculous statement for anyone who went to the trouble of actually becoming fluent.
So, if not 3 months, how long then?
It's incredibly personal.

First things first, the correct approach to learning is that you will never stop, even if you're a teacher or a university professor, the moment you decide you've done enough for your language skills, you're finished. Over time your language will get rusty and your fluency will fade.

So, allocating a few years for your language studies just so you can say you've done it and then putting it aside is pointless if you don't intend to continue learning and using it all your life.
To achieve a working knowledge of a foreign language you will need on average between 2 and 5 years, and that is daily practice. If, however, you attend your English needs once a week or less, your chances of getting to fluency are vague.
What are the correct steps to be taken in regards to your timing?

1) Do not think about when you want to finish learning (next month, year etc.) Instead, focus solely on what you can do today to improve your English. Achieving fluency is one of those things that are done slowly, step by step, day after day. There is no crash course.

2) Do not wait too long before you start using your English. Find ways to apply your knowledge as soon as you acquire it. Read, watch, listen and talk on a regular basis.

3) Studying and applying English should become your habit if not a lifestyle, then you will really make progress.

It is not a once-a-week thing. Do it daily, at home, at work, at lunch, in the car, on the bus, in bed, in your sleep:)
Happy learning.
Cheers everyone!