How long does it take to learn C++?
To what end? To program some small programs for yourself? Not long -- get a book, development environment, read, think, code, repeat.
To program professionally? Probably a year or two programming regularly for anyone to consider you a C++ programmer, and be prepared to be tested during interviews -- it's very commonly done.
Learning C is also helpful, and is a good and simpler starting point. Not much you learn from C will be useless in C++ programming, and every "C++" test will probably test some key aspects from C incidentally, and C, being much smaller, is much easier to absorb.
Going back to the original question, there are few people who really know all of C++, and most C++ programmers haven't yet caught up to C++11 (because it was just standardized and is not fully supported yet, etc.). It's a large and complex language at this point, so any learning of it you should expect would be partial, and the remainder done incrementally as needed as with everyone.
Finally, if you want to program professionally, you should also read and learn from others' code where you can.