python中的Datetimezone

时间:2014-04-02 17:15:43

标签: python date

在php中我可以获得夏令时信息(+02:00或+01:00)给定时区和时间,就像这样

$date = new DateTime('2014-09-01 17:16:32', new DateTimeZone('Europe/Madrid'));
echo $date->format('Y-m-d H:i:sP');

result>> 2014-09-01 17:16:32+02:00

我正在尝试这个,但是在输入日期添加了两个小时!我只想将+02:00 / + 01:00添加到给定日期而不触及输入日期:

madrid = pytz.timezone('Europe/Madrid')
print datetime.datetime(2012, 4, 14, 07, 50, 13, tzinfo=pytz.utc).astimezone(madrid) 

result>> 2012-04-14 09:50:00+02:00

我怎么能像python中的php代码一样?

感谢您的建议!!

2 个答案:

答案 0 :(得分:1)

documentation您需要使用本地化;

>>> import pytz
>>> import datetime
>>> madrid = pytz.timezone('Europe/Madrid')
>>> loc_dt = madrid.localize(datetime.datetime(2012, 4, 14, 07, 50, 13))
>>> print loc_dt
2012-04-14 07:50:13+02:00

答案 1 :(得分:0)

您正在寻找此打印声明

print datetime.datetime(2012, 4, 14, 07, 50, 13, tzinfo=pytz.utc).astimezone(madrid).strftime("%Y-%m-%d %H:%M:%S%z")

输出:

2012-04-14 09:50:13+0200