python - 在 Python 中使用 tz.localize 将 UTC 日期时间转换为英国日期时间

标签 python datetime

我正在尝试将 UTC 日期/时间转换为“欧洲/伦敦”时区。我尝试使用日期使用 tz.localize,但有人告诉我日期时间并不天真。如果我尝试删除时区,我仍然会遇到同样的错误。

从根本上说,我试图获得这个日期: 2016/04/05 15:00 成为这个日期: 2016/04/05 14:00

我的代码如下,我使用 iso8601 解析日期。

date = 2016-05-04 15:00:00+00:00
fix_pars = iso8601.parse_date(str(date))

我试过使用 pytz.localize 但没有成功,因为它不喜欢我的日期已经设置了时区这一事实。

我发现这方面的文档非常困惑。我想要的只是一个神奇的函数,它接受一个日期并根据请求的时区进行转换。我最好使用什么功能?

最佳答案

import pytz
from datetime import datetime
tz = pytz.timezone('UTC')
naive_time = datetime.strptime('2016-04-05 15:00', '%Y-%m-%d %H:%M')
tz_time = tz.localize(naive_time)
london_tz = pytz.timezone('Europe/London')
london_time = tz_time.astimezone(london_tz)

这是我的输出:

>>> print tz_time
2016-04-05 15:00:00+00:00
>>> print london_time
2016-04-05 16:00:00+01:00

关于python - 在 Python 中使用 tz.localize 将 UTC 日期时间转换为英国日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37030094/

相关文章:

C# 检查两个日期时间之间是否有一分钟

sql - 设置 SQL Server 存储过程的默认参数

python - 如何打印最长的单词及其长度?

python - 将base64图像数据上传并保存到django rest框架中的Django图像字段

javascript - 通过网站启动 Python 脚本(单击按钮)

c# - 将字符串转换为可为空的日期时间

python - 仅从数据框中提取今天日期的行

php - 如何将 PDT 时间格式转换为这种格式 `2016-09-13 08:56:55 +0000` - 使用 PHP?

python - numpy.interp 和屏蔽数组

python - 在 Mechanize 打开方法中获取 urllib2.URLError : <urlopen error EOF occurred in violation of protocol (_ssl. c:661)>