Perhaps it's better to calculate utc-offset for each timestamp cause we never know what is correct timezone for given time.
That could be done in C:
localtime, utc_offset = time.localtime_ex(t)
Where localtime is the same as returned by localtime() and utc_offset is set to tm.tm_gmtoff.
If tm_gmtoff isn't available on the target platform time.timezone or time.altzone will be used depending on time.daylight.
Here is simple python version, that subtracts gmtime from localtime tuple:
import time
def calculate_utc_offset(t):
"""
Returns localtime offset for given unix-time `t`
"""
loco = time.localtime(t)
utc = time.gmtime(t)
odd = cmp(loco.tm_year, utc.tm_year) or cmp(loco.tm_yday, utc.tm_yday)
return (1440 * odd +
60 * (loco.tm_hour - utc.tm_hour) +
loco.tm_min - utc.tm_min))