How Long has John Mccain Been a Senator?

John McCain has been a senator for 21 years (as of January 3,2008). He was elected on January 3,1987. Before that he was in the House of Representatives for 4 years.