美文网首页
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