如何解读时区2013-04-01T00:00:00.000 + 02:00?

时间:2016-01-08 01:31:38

标签: python timezone

+02:00是什么意思?

我的sqlalchemy + pandas将其翻译成

2013-03-31 22:00:00

这是对的吗?

非常感谢

2 个答案:

答案 0 :(得分:1)

时间字符串2013-04-01T00:00:00.000+02:00是愚人节午夜(到最近的毫秒)的ISO 8601:2004符号。 2013年4月1日,在UTC + 2偏移的时区(提前两小时或UTC以东)。

在字符串中,+02:00是与UTC的时区偏移量。四月愚人节午夜' UTC + 2的2013年3月31日晚上10点在UTC(GMT)时区,因此SQLAlchemyPandas的更改是正确的。用于UTC的新时区偏移,即Z'Zulu time'或+00:00。

德国冬季使用UTC + 1的时区偏移,夏季使用UTC + 2(确认worldtimezone.com时)。到3月底或4月初,欧洲已经转向夏季(夏令时)。欧洲使用的rule是夏季时间从3月的最后一个星期日开始,到10月的最后一个星期日结束。因此,原来的时间可能是德国的午夜。修改后的时间在UTC或GMT中仍然是正确的,但在英国没有正确的当地时间(英国将在英国夏令时,BST或当时的UTC + 1)。

答案 1 :(得分:1)

2013-04-01T00:00:00.000+02:00不是时区 - 它是rfc 3339 format中指定的时间。

  

+02:00是什么意思?

这意味着utc偏移量为+2小时,其中utc偏移量定义为:

<local time> = <utc time> + <utc offset>

注意:utc偏移也不是时区:

- multiple timezones may have the same utc offset at some point
- the same timezone may have different utc offset at different times
  

我的sqlalchemy + pandas将其翻译为2013-03-31 22:00:00这是正确的吗?

2013-03-31 22:00:00是相应的utc时间。如果系统在此处需要UTC时间,这是正确的。