How to get computer's UTC offset in Python?

The computer's UTC offset is the timezone set on your computer. You can get this timezone information using Python's time module or datetime module. The UTC offset represents the time difference from Coordinated Universal Time (UTC) in seconds.

Using time.timezone

The time.timezone attribute returns the UTC offset in seconds. Note that it returns a negative value, so we negate it to get the actual offset ?

import time

# Get UTC offset in seconds (negated because time.timezone is negative)
utc_offset = -time.timezone
print("UTC offset in seconds:", utc_offset)

# Convert to hours
hours = utc_offset / 3600
print("UTC offset in hours:", hours)

The output of the above code is ?

UTC offset in seconds: 19800
UTC offset in hours: 5.5

Using datetime Objects

You can also calculate the UTC offset by creating datetime objects for UTC and local timezones, then finding the difference ?

import time
from datetime import datetime

# Get current timestamp
ts = time.time()

# Calculate UTC offset by comparing local and UTC times
utc_offset = (datetime.fromtimestamp(ts) - 
              datetime.utcfromtimestamp(ts)).total_seconds()

print("UTC offset in seconds:", utc_offset)
print("UTC offset in hours:", utc_offset / 3600)

The output of the above code is ?

UTC offset in seconds: 19800.0
UTC offset in hours: 5.5

Using datetime.timezone (Python 3.2+)

For a more modern approach, you can use datetime.timezone to get timezone-aware datetime objects ?

from datetime import datetime, timezone

# Get current local time with timezone info
local_time = datetime.now()
utc_time = datetime.now(timezone.utc)

# Calculate offset
local_with_tz = local_time.replace(tzinfo=datetime.now().astimezone().tzinfo)
offset = local_with_tz.utcoffset().total_seconds()

print("UTC offset in seconds:", offset)
print("UTC offset in hours:", offset / 3600)

The output of the above code is ?

UTC offset in seconds: 19800.0
UTC offset in hours: 5.5

Comparison

Method Python Version Best For
time.timezone All versions Simple UTC offset retrieval
datetime calculation All versions When working with timestamps
datetime.timezone Python 3.2+ Timezone-aware applications

Conclusion

Use time.timezone for a quick UTC offset in seconds. For timezone-aware applications, prefer datetime.timezone. The offset value 19800 seconds equals +5:30 hours (India Standard Time).

Updated on: 2026-03-24T19:28:30+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements