The problem is defining the USA. There are 4 on the major land mass that everyone views as the USA; then there's another one for Alaska; another for Puerto Rico & the Virgin Islands; another for Hawaii and another for the Pacific territories(federate states of Micronesia). So you could argue 8 in total, depending on what you include or preclude.
In addition to Drusilla's in-depth answer, there are two areas within the U.S. that do not change to Day Light Savings Time in the summer months. These being the State of Arizona and the city of Indianapolis, Indiana (there was a move afoot to rescind Indy's stance, however). This would, effectively, add two other "time zones" to the U.S.
There are 8, but Drusilla's answer is not entirely accurate.
Puerto Rico is -4 hours East Coast is -5 Mid West (e.g. Texas) is -6 Rocky Mountains (e.g. Utah) is -7 West Coast (e.g. California) is -8 Alaska has 3 time zones (-9, -10 and -11) Hawaii has 2 time zones (-10 and -11)
Actually, Alan2, the Time Zone you label as Western is Central... and for the indepth analysis by bernardo... I think we've all overlooked Guam for yet another...