Giving time estimates is almost impossible. Why? Cuz there are too many individual factors which depends on you:
- how good are you at programming? Here i also mean how well you know your tools and the enviroments, used SDKs, API's etc.
- how "special" will your engine be? If you use common concepts you don't need to reinvent the wheels and there will be tons of resources which you could use/adapt
- how much time will you spend for developing this? Also, consider that workng on something e.g. 3 days a row is much more efficient that spending 6 days spread over several weeks
- how good are your math skills?
- how well are you familar with concepts like 3D, Animations, Shader programming, etc.
Unfortunately, i don't have an equation for the above factors, so the only way is to find it out ;)
There is only one advice i can give you: just do it and don't think that you aren't doing the "perfect" way.
Its a matter of iteration, your 2nd engine will be better than the 1st , etc.
You could speed up development by looking at some existing engines.