- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
请注意:
C:\dev\poc\SDR>python
Python 2.7.1 (r271:86832, Nov 27 2010, 17:19:03) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from pytz import timezone
>>> from datetime import datetime
>>> tz1=timezone('America/Los_Angeles')
>>> tz2=timezone('US/Pacific')
>>> ts1=datetime(2011,8,1,tzinfo=tz1)
>>> ts2=datetime(2011,8,1,tzinfo=tz2)
>>> ts1
datetime.datetime(2011, 8, 1, 0, 0, tzinfo=<DstTzInfo 'America/Los_Angeles' PST-1 day, 16:00:00 STD>)
>>> ts2
datetime.datetime(2011, 8, 1, 0, 0, tzinfo=<DstTzInfo 'US/Pacific' PST-1 day, 16:00:00 STD>)
>>> ts1.astimezone(tz1)
datetime.datetime(2011, 8, 1, 0, 0, tzinfo=<DstTzInfo 'America/Los_Angeles' PST-1 day, 16:00:00 STD>)
>>> ts2.astimezone(tz2)
datetime.datetime(2011, 8, 1, 0, 0, tzinfo=<DstTzInfo 'US/Pacific' PST-1 day, 16:00:00 STD>)
>>> ts1.astimezone(tz2)
datetime.datetime(2011, 8, 1, 1, 0, tzinfo=<DstTzInfo 'US/Pacific' PDT-1 day, 17:00:00 DST>)
>>> ts2.astimezone(tz1)
datetime.datetime(2011, 8, 1, 1, 0, tzinfo=<DstTzInfo 'America/Los_Angeles' PDT-1 day, 17:00:00 DST>)
>>>
这是我不明白的地方。 US/Pacific (tz1
) 和 America/Los_Angeles (tz2
) 应该表示相同的时区,不是吗?那么 datetime.astimezone
调用从一个区域移动到另一个区域怎么会改变小时呢?
谢谢。
最佳答案
夏令时。请注意,最后两个条目列出了 PDT-1
。
astimezone
会考虑夏令时,但前提是它确实经过了它的完整逻辑。
您的示例中的前两个 astimezone
调用不通过完整的逻辑,因为它们短路(因为它们正在转换“到”的时区已经匹配他们正在“从”转换的那个)。
(您可能想知道为什么初始日期时间尚未使用 PDT。这是因为 datetime
构造函数 doesn't take into account daylight savings time ,即使您将时区传递给它 - 它也只是盲目地设置时区。 )
关于Python:关于美国/太平洋和美国/洛杉矶时区的 datetime.astimezone 的奇怪行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10080790/
给定一个变量,其中包含巴黎时区 2000-01-01 00:01 的日期时间(据我所知,冬季为 UTC+2): datetime.datetime(2000, 1, 1, 0, 1, tzinfo=p
timezones() 和日期时间是否可能在时间等方面与我的操作系统发生冲突? 起初这是一个愚蠢的问题,因为我遇到了这个问题,但我看不出它发生的原因或发生的位置。 看这个: def parse_dat
这是首先从 IST 中的字符串解析时间然后将其转换为 UTC 的代码。因此,当印度下午 4:00 时,格林威治标准时间/UTC 时间为上午 10:30。而以下代码将其打印为晚上 9:30。因此,不是减
我正在做一些时区转换,我得到了非常奇怪的结果。基本上在仅相差整小时的时区之间进行转换,我仍然得到非完整的结果。例如: from datetime import datetime from pytz i
在 2013 年 6 月 1 日,我希望“PST8PDT”时区的行为类似于 GMT+7,因为它是该时区的夏令时。但是,它的行为类似于 GMT+8: >>> import pytz, datetime
我有一个日期,我需要让它知道时区。 local_tz = timezone('Asia/Tokyo') start_date = '2012-09-27' start_date = datetime.
我正在使用 linux aws 机器,当我执行 datetime.datetime.now 时存在时区差异。所以我尝试了这种方法来克服时区错误 format = "%Y-%m-%d %H:%M:%S
请注意: C:\dev\poc\SDR>python Python 2.7.1 (r271:86832, Nov 27 2010, 17:19:03) [MSC v.1500 64 bit (AMD6
我是一名优秀的程序员,十分优秀!