1、UTC时间转本地时间
import datetime
def utc2local(utc_st):
"""UTC时间转本地时间(+8:00)"""
now_stamp = time.time()
local_time = datetime.datetime.fromtimestamp(now_stamp)
utc_time = datetime.datetime.utcfromtimestamp(now_stamp)
offset = local_time - utc_time
local_st = utc_st + offset
return local_st
2、本地时间转UTC时间
import datetime
def local2utc(local_st):
"""本地时间转UTC时间(-8:00)"""
time_struct = time.mktime(local_st.timetuple())
utc_st = datetime.datetime.utcfromtimestamp(time_struct)
return utc_st
3、获取本地时区
from pytz import timezone
from tzlocal import get_localzone
def get_local_time_zone():
"""获取本地时区"""
try:
return get_localzone()
except pytz.UnknownTimeZoneError:
return timezone("Asia/Shanghai")
4、计算时区偏移量
from pytz import timezone
from tzlocal import get_localzone
def calculate_offset(now_stamp):
"""计算时区偏移量"""
local_time = datetime.datetime.fromtimestamp(now_stamp, tz=get_local_time_zone())
utc_time = datetime.datetime.utcfromtimestamp(now_stamp)
offset = int(local_time.hour - utc_time.hour) * 3600
return offset