首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:带有pytz时区标志的奇怪行为

Python:带有pytz时区标志的奇怪行为
EN

Stack Overflow用户
提问于 2012-07-26 21:31:33
回答 1查看 282关注 0票数 1

我在阿根廷,我的时间是格林尼治标准时间3 (http://wwp.greenwichmeantime.com/time-zone/south-america/argentina/)

我在玩Pytz的时候发现了一些奇怪的东西,看一下:

代码语言:javascript
复制
from pytz import timezone
bsas = timezone('America/Argentina/Buenos_Aires')

gmt_plus_3 = timezone('Etc/GMT+3')
gmt_min_3 = timezone('Etc/GMT-3')

# Date and time at this momement: 2012-07-26 10:23:01

fmt = '%Y-%m-%dT%H:%M:%S'
datetime.now(bs).strftime(fmt)  #'2012-07-26T10:23:01' <-- GOOD!

datetime.now(gmt_min_3).strftime(fmt)  #'2012-07-26T16:25:21' <-- WRONG!

datetime.now(gmt_plus_3).strftime(fmt)  #'2012-07-26T10:23:01' <-- GOOD! WTF!

我期望:

代码语言:javascript
复制
GMT-3 should be 10:23:01 and gives me 16:23:01
GMT+3 should be 16:23:01 and gives me 10:23:01

这是一个bug吗?我做错了吗??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-26 21:47:32

它不是一个bug,而是一个特性(Wikipedia: ):

Etc的特殊区域用于某些行政区域,特别是表示协调世界时的"Etc/UTC“。为了符合POSIX风格,那些以"Etc/GMT“开头的区域名称的符号颠倒了,这与大多数人的预期相反。在这种风格中,GMT以西的区域有一个正号,而那些东边的区域在他们的名字中有一个负号(例如"Etc/GMT- 14“比GMT早/东14个小时)。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11670425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档