簡體   English   中英

時區之間的Python差異

[英]Python difference between timezones

我必須創建一個代碼,該代碼可以告訴我任何城市的當前時間(作為變量),並打印該時間與utc之間的utc偏移量。 我已經有了以下代碼,該代碼給出了當前時間和時區的偏移量,但是該時區並不總是utc。 注意:城市名稱存儲在文本文件中,用戶應該能夠添加和刪除任何城市。 我正在使用tkinter作為gui。

from datetime import datetime, timedelta
from pytz import timezone
import pytz

def tz():
    utc = pytz.utc
    amsterdam = timezone('Europe/Amsterdam')
    fmt = '%Y-%m-%d %H:%M:%S %Z%z'
    loc_dt = utc.localize(datetime.today())
    tz = loc_dt.astimezone(amsterdam)
    print(tz.strftime(fmt))

文件內容如下:

Amsterdam
Brasilia
Los Angeles
Abu Dhabi
Tokyo
Singapore

有人可以用簡單的代碼幫助我嗎? 先感謝您

您已經在使用pytz,所以我去:

from datetime import datetime
from pytz import timezone, all_timezones

def to_timezone(dt, tz):
  assert dt.tzinfo is not None
  assert tz in all_timezones
  return dt.astimezone(timezone(tz))

print to_timezone(datetime.now(timezone('UTC')), 'Europe/Amsterdam')

我默認將其設置為UTC,但要點是:

  • 有一個非天真的日期時間
  • 轉換它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM