IP address can't even be relied upon to map to a country; you're treading on thin ice if you also want to get timezone. You're better off to have the client send you the time zone, perhaps in a header.
See Tor: anonymity online for yet another reason to stop using IP addresses for things they were not designed for.