Depending on the scope, a basic website might take 2-4 weeks, while more complex, custom sites can take 2-3 months or longer. Factors include planning, design, content gathering / creation / editing, and development.
Depending on your requirements, it may be possible to have a phased launch, getting part of your new site live earlier and then switching on other areas of the site as and when they are ready.