I can't tell you how long it takes, but I can tell how long it won't take... Which is less than 3 - 4 months to gain top position and 6 months for first position. This is the best case scenario.. Unless you are trying to non-searchable keyword which can take days.
To give more details, ranking doesn't take long, SEO DOES! When google indexes a website, it will start to give ranking to each article on the website. Depends on your keyword competition, you can appear anywhere.. even in first page or top 3 if you are the only one trying to rank for this keyword.
Now, its time to build backlinks, index it, and wait for the results. And here is where it takes time.. A LOT OF TIME! Google updates metrics very very very SLOWLY.. again depends on the keyword.
If you are number 5 with no backlinks and content alone, while the first page has no backlinks but ranks depending on its age.. Then, you can pretty can take the first position very fast with few good backlinks. Once they are indexed and you will gain ranks.
Howerve, if your websites appear in page 4, then you have a long way to go.. which by the way 70% of keywords competition fall. And it will take the time I mentioned in the first paragraph.