本地时间转换为UTC时间

    本地时间是指系统设定时区的时间,例如北京时间是UTC+8:00时区的时间,而UTC时间指UTC+0:00时区的时间。

    一个 datetime 类型有一个时区属性 tzinfo ,但是默认为 None ,所以无法区分这个 datetime 到底是哪个时区,除非强行给 datetime 设置一个时区:

    >>> from datetime import datetime, timedelta, timezone

    >>> tz_utc_8 = timezone(timedelta(hours=8)) # 创建时区UTC+8:00

    >>> now = datetime.now()

    >>> now

    datetime.datetime(2015, 5, 18, 17, 2, 10, 871012)

    >>> dt = now.replace(tzinfo=tz_utc_8) # 强制设置为UTC+8:00

    >>> dt

    datetime.datetime(2015, 5, 18, 17, 2, 10, 871012, tzinfo=datetime.timezone(datetime.timedelta(0, 28800)))

    如果系统时区恰好是UTC+8:00,那么上述代码就是正确的,否则,不能强制设置为UTC+8:00时区。