Yous all must've seen from time to time, those ads which promise "Become fluent in [insert language here] in 10 days with our revolutionary new method!", and so forth.
But, in reality, how long does it take?
I think we can all agree that a second language (whereby you're immersed in the culture where your target language is used 24/7) is learned more quickly than a foreign language (whereby you experience that language only in a classroom, and/or when you proactively seek it out). And we can exclude babies/children (who typically achieve native-quality proficiency with little perceptible effort at all in less than 2 years).
All of that aside: how long does it take to get from basic expressions to fluent, sophisticated knowledge of a second/foreign language? What tips have you found invaluable and do you pass on to other language learners? Realistically, what is the quickest possible time for an average person to achieve comfortable proficiency, making no more mistakes in her daily usage than a typical native speaker makes?