What strain are you growing? Different strains take different amounts of time to flower.
The optimal time to harvest marijuana plants is when THC production has reached its maximum. A rough guide as to when to harvest is to wait until 50%-80% of the white pistils (hairs) have turned dark (usually brown or red). But a better method of determining when to harvest is to wait until certain trichomes on the plant have matured.
You can also examine the trichomes. They start off clear, then milky white before going amber.
You need to harvest when about 50% of these trichs are amber.
Good luck.