When to start depends on how and what you want to grow, If growing massive plants that yield many ounces you will need to start them indoors during the late winter and move outside when the risk of frost is gone however if you want to grow several smaller plants you can start the seeds anytime all the way till june at least (remember small plant can be kept hidden with far more ease than monsters).
As far as when they start flowering it all depends on what strain you are growing. Some strains like Lowryder will flower within a few weeks and can finish in about 10 weeks (Autoflowering strains) while some others like Haze won't flowere till light levels reach 12/12 in the fall and can take a further three months plus to finish (not going to mature unless you have warm weather until december) however most plants fall in between these extremes and will start flowering from late july to late august and finish up in september-october.
for best results just pick strains that can finish before your first frost date and let nature do the rest.
Slart