Python 时区差异
Python difference between timezones
我必须创建一个代码,它可以告诉我任何城市的当前时间(作为变量)并打印那个时间和 utc 之间的 utc 偏移量。我已经有了下面的代码,它给出了当前时间和时区的偏移量,但这个时区并不总是 utc。注意:城市名称存储在文本文件中,用户应该能够添加和删除任何城市。我正在为 gui 使用 tkinter。
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,但要点是:
- 有一个非天真的日期时间
- 转换它
我必须创建一个代码,它可以告诉我任何城市的当前时间(作为变量)并打印那个时间和 utc 之间的 utc 偏移量。我已经有了下面的代码,它给出了当前时间和时区的偏移量,但这个时区并不总是 utc。注意:城市名称存储在文本文件中,用户应该能够添加和删除任何城市。我正在为 gui 使用 tkinter。
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,但要点是:
- 有一个非天真的日期时间
- 转换它