Дает смещение UTC, как в ответе ThomasH, но учитывает переход на летнее время.
>>> import time
>>> offset = time.timezone if (time.localtime().tm_isdst == 0) else time.altzone
>>> offset / 60 / 60 * -1
-9
Значение time.timezone
или time.altzone
указывается в секундах к западу от UTC (области к востоку от UTC получают отрицательное значение). Это противоположно тому, как мы на самом деле хотели бы, поэтому * -1.
time.localtime().tm_isdst
будет равно нулю, если переход на летнее время в настоящее время не действует (хотя это может быть неправильно, если район недавно изменил закон перехода на летнее время).
РЕДАКТИРОВАТЬ: marr75 правильно, я соответственно отредактировал ответ.