How long will the tribulation last for?

I am wanting to get opinions about how long the tribulation will be. To be more specific, I mean the "great tribulation" that is mentioned when talking about end time bible prophecy studies. I have read that the tribulation will be about 7 years in length, but also that it would only last for about 3 1/2 years according to other sources.

Are there other opinions about the length of the tribulation or has the tribulation already taken place?