美文网首页
python UTCS时间转本地时间 问题解决

python UTCS时间转本地时间 问题解决

作者: 王镇_ee87 | 来源:发表于2020-12-07 14:33 被阅读0次

今天代码里发现一个问题 influxdb中的时间戳用python打印出来比正常差了八个小时 因为时区不同,

1565107179324103318   influx 时间戳  转化后是 2019-08-06 23:59:39
2019-08-06T15:59:39.324103318Z   python 查询结果

现在的问题就是怎么把下面的时间格式转化成正常的格式

def utc_to_local(utc_time_str, local_format="%Y-%m-%d %H:%M:%S", utc_format=f'%Y-%m-%dT%H:%M:%S'):
    local_tz = pytz.timezone('Asia/Chongqing')
    print(local_tz)  # Asia/Chongqing 改变时区
    utc_dt = datetime.datetime.strptime(utc_time_str, utc_format)
    print(utc_dt)  # 2019-08-06 15:59:39 把 str 转成 时间格式
    local_dt = utc_dt.replace(tzinfo=pytz.utc).astimezone(local_tz)
    print(local_dt)  # 2019-08-06 23:59:39+08:00  utcs时间 转换时区
    time_str = local_dt.strftime(local_format)
    print(time_str)  # time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=23, tm_min=59, tm_sec=39, tm_wday=1, tm_yday=218, tm_isdst=0) 把时间转成字符串
    ltime = time.strptime(time_str, local_format)  # 2019-08-06 23:59:39
    print(type(time.strptime(time_str, local_format))) # <class 'time.struct_time'>

    return time.strftime(local_format, ltime)


ret = l[0].get("time").split('.')[0]
current_time_int = utc_to_local(ret)
print(current_time_int)

相关文章

网友评论

      本文标题:python UTCS时间转本地时间 问题解决

      本文链接:https://www.haomeiwen.com/subject/xnzbwktx.html