I have learned core java in a week. I would not say that I know all the best practices and design
patterns, I also plan to read a book on that, and it should be enough to cover core java for someone who has 13 years C++, 5 years python and 2 years C# work experience.
But from what I have seen in job specs, they want you to know Java EE or you are not getting the job. My experience is that an intermediate C++/python/c# developer who knows the framework/middle-ware/library used by the company is more likely to be hired that a C++/python/c# guru who hasn't.
So I really don't want to waste too much time with core java, before I land a job. I know this might be a blasphemy for some of you.