I have account stored in my database and I have each account state on file, from there I want to link each account to a timezone based on the account state.
so if th
You haven't thought this through.
Many US states have multiple time zones. For example, South Dakota has both Mountain and Central time zones.

If you desire to resolve a location to a time zone, you will need a much more granular location. Ideally, a latitude and longitude. If you don't have one, you can approximate the centroid lat/lon of a zip code, and then use that against any of many various services or databases that will resolve that to a time zone. But be very careful, not all zip codes represent physical locations, and zip codes change frequently.