This is the big language learning question. Everbody wants to know how long it will take to learn a language. I guess we're all just a little too impatient, we want to know when we are going to get there, and we want to be there now anyway. But really, the journey's the thing, isn't it?
How long it takes to learn a language depends on a lot of factors, most of which depend on you. Contrary to popular belief it generally doesn't depend that much on what language you're learning - the differences in difficulty between them aren't as drastic as most people want to believe (we'll get into some specific numbers below). It's a combination of what kind of materials you study with, how often you study, what kinds of goals you set for yourself and what kind of learner you are.
But, it also depends on what you mean by learn a language. We're not really talking about fluency (which of course depends on your definition of fluency) and certainly not a native accent, but more like proficiency in everyday situations, and with an accent. It takes a lifetime to really learn a language.
Ok, enough hemming and hawing - how long does it take to learn a language?
There is a rule of thumb that you need to spend about 400 hours of study to become proficient in a language that is relatively similar to English, or longer than that for one that is generally considered more difficult. (The list of languages on the easier side includes Spanish, French, Italian, Dutch, Swedish, Indonesian and Swahili. The languages on the harder side require two to three times that 400 hours because you need to learn new alphabets and writing systems, lots of different sounds, tones, more complex grammar etc. and includes languages like Russian, Arabic, Japanese and Mandarin. If you are smart with which aspects of the language you are learning and how you study them, that extra time required is not that drastic.)
The ACTFL (American Council on the Teaching of Foreign Languages), CEFR (Common European Framework of Reference) and FSI (Foreign Service Institute) all have different ways to categorize language learning levels, but each one has a category around 400 hours that corresponds to 'proficient,' so I think that number is pretty solid.
I like that number because it is very concrete - it gives you a reasonable idea of how long it will take you to reach your goal, depending on how much time you are putting into it. Of course, there are those other factors involved, like your study habits, study materials, natural ability etc. But at least we have a ballpark figure.
If you are studying an hour a day, it will take you a little over a year to become proficient. Two hours a day and it'll take six months. If you study four to five hours per day, you can get there in three months. Ten hours per day? Let's not get too carried away. There are courses that intensive, but I think there is a limit on how fast you can get there - the brain needs time to absorb and process all this new information. I think three months is the reasonable limit to learning a language to a proficient level for most people.
Instead of studying more per day, how about the other direction? Can you learn a language in just 15 minutes per day? Sure, by our numbers it will take you four years, if you study every day, if you constantly update your goals and materials and move on to new ones when you have finished with them. It may take just as much discipline (albeit of a slightly different focus) to study fifteen minutes everyday for four years as it would to study four hours per day for three months.
So, there you have it - 400 hours. That's how long it will take to learn a language. Whether that translates into three months or four years depends entirely on what you do with that 400 hours. It will require discipline and perseverance, but if you start with 400 hours as a goal and begin to break it down, you will get there.