1950-1953 300km minimum or 3 hours whichever came first.
1954-1957 500km or 3 hours whichever came first.
1958-1965 300km to 500km or 2 hours whichever came first.
1966-1970 300km to 400km or 2 hours whichever came first.
1971-1972 200mi (321.87km) now the maximum distance.
1973-1976 200mi (321.87km) or 2 hours whichever was shorter.
1977-1980 250km minimum 200mi (321.87km) or 2 hours the maximum.
1981-1983 250km minimum 320km or 2 hours the maximum.
1984–1987 Warmup Lap part of race distance. 300km minimum 320km or 2 hours maximum.
1988 Warmup Lap not part of race distance. 300km minimum 320km or 2 hours maximum.
1989-2011 305km or 2 hours whichever comes first.
2012-Present 305km or 2 hours whichever comes first. Maximum of four hours with red flags added.
Monaco was always the exception. Usually the shortest race distance.
My source is Formula 1: All the Races by: Roger Smith. A must have book for F1 fans.
i just, just, oh screw it... words fail