From The History Channel:
At exactly noon on this day [in 1883], American and Canadian railroads begin using four continental time zones to end the confusion of dealing with thousands of local times. The bold move was emblematic of the power shared by the railroad companies.
The need for continental time zones stemmed directly from the problems of moving passengers and freight over the thousands of miles of rail line that covered North America by the 1880s. Since human beings had first begun keeping track of time, they set their clocks to the local movement of the sun. Even as late as the 1880s, most towns in the U.S. had their own local time, generally based on “high noon,” or the time when the sun was at its highest point in the sky. As railroads began to shrink the travel time between cities from days or months to mere hours, however, these local times became a scheduling nightmare. Railroad timetables in major cities listed dozens of different arrival and departure times for the same train, each linked to a different local time zone.
Efficient rail transportation demanded a more uniform time-keeping system. Rather than turning to the federal governments of the United States and Canada to create a North American system of time zones, the powerful railroad companies took it upon themselves to create a new time code system. The companies agreed to divide the continent into four time zones; the dividing lines adopted were very close to the ones we still use today.
Most Americans and Canadians quickly embraced their new time zones, since railroads were often their lifeblood and main link with the rest of the world. However, it was not until 1918 that Congress officially adopted the railroad time zones and put them under the supervision of the Interstate Commerce Commission.