當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。