Since candle lighting times are determined from latitude and longitude, a process called geocoding is used to determine the geographic position of a zip code.
The Gazetteer data from 1999 is much more complete than their data from 1990 — but still not as good as the commercial-quality data you get from the U.S. Post Office. Gazetteer contains zip code, city name, latitude and lognitude but is missing time zone.
Fortunately, the Gazetteer data contain a FIPS code (which represents the county a zipcode is part of). The U.S. National Weather Service provides county-timezone data (keyed on FIPS code), which contains timezone and Daylight Saving Time data for each county. By joining these two data sources, we can get a complete picture of each zip code.