当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python datetime.datetime.astimezone用法及代码示例


用法:

datetime.astimezone(tz=None)

返回具有新 tzinfo 属性 tzdatetime 对象,调整日期和时间数据,使结果与 self 的 UTC 时间相同,但在 tz 的本地时间。

如果提供,tz 必须是 tzinfo 子类的实例,并且其 utcoffset()dst() 方法不得返回 None 。如果self 是幼稚的,则假定它表示系统时区中的时间。

如果不带参数(或使用 tz=None )调用,则系统本地时区假定为目标时区。转换后的日期时间实例的.tzinfo 属性将设置为timezone 的实例,其中区域名称和从操作系统获取的偏移量。

如果 self.tzinfotzself.astimezone(tz) 等于 self :不执行日期或时间数据的调整。否则结果是时区 tz 中的本地时间,表示与 self 相同的 UTC 时间:在 astz = dt.astimezone(tz) 之后,astz - astz.utcoffset() 将具有与 dt - dt.utcoffset() 相同的日期和时间数据。

如果您只想将时区对象 tz 附加到日期时间 dt 而不调整日期和时间数据,请使用 dt.replace(tzinfo=tz) 。如果您只想从感知日期时间 dt 中删除时区对象而不转换日期和时间数据,请使用 dt.replace(tzinfo=None)

请注意,可以在 tzinfo 子类中覆盖默认的 tzinfo.fromutc() 方法,以影响 astimezone() 返回的结果。忽略错误情况,astimezone() 的行为如下:

def astimezone(self, tz):
    if self.tzinfo is tz:
        return self
    # Convert self to UTC, and attach the new time zone object.
    utc = (self - self.utcoffset()).replace(tzinfo=tz)
    # Convert from UTC to tz's local time.
    return tz.fromutc(utc)

在 3.3 版中更改:tz现在可以省略。

在 3.6 版中更改: datetime.datetime.astimezone现在可以在假定代表系统本地时间的幼稚实例上调用方法。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 datetime.datetime.astimezone。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。