Python:datetime时间UTC时间转东八区

简介: Python:datetime时间UTC时间转东八区
# -*- coding: utf-8 -*-
import re
from datetime import datetime, timedelta
class TimeUtil(object):
    @classmethod
    def parse_timezone(cls, timezone):
        """
        解析时区表示
        :param timezone: str eg: +8
        :return: dict{symbol, offset}
        """
        result = re.match(r'(?P<symbol>[+-])(?P<offset>\d+)', timezone)
        symbol = result.groupdict()['symbol']
        offset = int(result.groupdict()['offset'])
        return {
            'symbol': symbol,
            'offset': offset
        }
    @classmethod
    def convert_timezone(cls, dt, timezone="+0"):
        """默认是utc时间,需要"""
        result = cls.parse_timezone(timezone)
        symbol = result['symbol']
        offset = result['offset']
        if symbol == '+':
            return dt + timedelta(hours=offset)
        elif symbol == '-':
            return dt - timedelta(hours=offset)
        else:
            raise Exception('dont parse timezone format')
if __name__ == '__main__':
    utc_now = datetime.utcnow()
    now = datetime.now()
    convert_now = TimeUtil.convert_timezone(utc_now, '+8')
    print('utc_now    ', utc_now)
    print('now        ', now)
    print('convert_now', convert_now)
    """
    utc_now     2021-01-27 03:26:13.132189
    now         2021-01-27 11:26:13.132198
    convert_now 2021-01-27 11:26:13.132189
    """
相关文章
|
2月前
|
Python
Datetime模块应用:Python计算上周周几对应的日期
Datetime模块应用:Python计算上周周几对应的日期
80 1
|
2月前
|
数据处理 Python
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
21 1
|
2月前
|
数据处理 Python
Python内置时间模块:Datetime实例详解(一)
Python内置时间模块:Datetime实例详解(一)
34 1
|
2月前
|
Python
Python内置时间模块:Datetime实例详解(二)
Python内置时间模块:Datetime实例详解(二)
77 0
|
2月前
|
开发者 Python
Python 时间处理与时区转换:深入探究 datetime、time 模块与 pytz 库的功能与应用
Python 时间处理与时区转换:深入探究 datetime、time 模块与 pytz 库的功能与应用
15 0
|
3月前
|
Python
30天拿下Python之datetime模块
30天拿下Python之datetime模块
23 0
|
3月前
|
Python
Python时间戳与datetime转换指南
Python时间戳与datetime转换指南
208 0
|
机器学习/深度学习 测试技术 Python
Python date,datetime,time等相关操作总结
Python date,datetime,time等相关操作总结
126 0
|
Python
Python 3,一行代码处理各种时间转换,从此跟datetime,time模块说拜拜 ~ ~ 不收藏算我输!!!
Python 3,一行代码处理各种时间转换,从此跟datetime,time模块说拜拜 ~ ~ 不收藏算我输!!!
377 1
Python 3,一行代码处理各种时间转换,从此跟datetime,time模块说拜拜 ~ ~ 不收藏算我输!!!
python中的时间处理模块(二):datetime模块之time类详解
python中的时间处理模块(二):datetime模块之time类详解
python中的时间处理模块(二):datetime模块之time类详解