I saw this question show up at the HTLAL forums a few days ago, and have seen it appear elsewhere in the language learning community time and time again. The question is, unfortunately, very hard to answer.
First of all, the questioner often focuses on a poor unit of time: “how many months will it take to reach B2,” or “how many years did it take for you to become fluent?” Months and years aren’t really helpful when measuring something like language learning, as they don’t take into account what the person is actually doing during that time. One person could study for 5 minutes a day for ten years and not be fluent; another person could study for four hours a day for two years and be fluent. Asking for a year or month count just isn’t helpful.
Even if the person asks how many hours it will take, the question also assumes that everyone is the same; that if it takes me an hour to learn something, it’s going to take anyone else an hour as well. This obviously isn’t the case. And of course, even if you have a number of hours to shoot for, what you do is just as important as how much of it you’re doing; watching a T.V. show in your target language for two hours will yield a different amount and type of learning than spending two hours with word lists or grammar.
I think many people turn to questions like this when they’ve hit the intermediate level in their language, because it’s often at that point that progress starts to come more slowly. When you’re starting out with a language, any progress seems like a lot of progress. Going from knowing no words to 20 words is a big leap, and you feel like you’ve made a lot of progress. If you think of learning a language as building a mountain, it’s easy to see how things change as you go along. Once the mountain is a hundred feet or a thousand feet in the air, adding a few more pebbles feels almost pointless; you want to be able to add another hundred feet, and you want to do it fast. Similarly, when you’ve learned 10,000 words, adding another 10 seems almost futile; it doesn’t give quite the same feeling as learning your first 10 words in the language.
Of course, continuing to add to the mountain is the only way forward, even if it must be done pebble by pebble. Eventually they add up. I think one’s time would be better spent adding pebbles rather than trying to nail down some mythical amount of time that will lead to fluency.