I've been playing online for a year and a half... I started from 0 and currently I'm not very far off. I play an average of 3 hours a week with month long breaks in between. A rough estimate is that I've played 100k hands online so far - in 18 months.
That involved a lot of learning by doing. I'm pretty sure you can play a top-10 sklansky hand selection and you'll have a hard time not to make a profit, but most people want to figure stuff out by themselves and that can be a long process.

For anyone to get good at anything it takes DAILY practice. If you want to learn something you have to put in at least an hour every day, and that's true for pretty much everything you can do. If you have the time to play an hour of poker a day, you'll learn in 6 months what other people won't learn in a lifetime, but not everybody has the time and ambition to do that.