问题标签 [pytz]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6069 浏览

python - 使用 pytz 时区时 Python 日期时间不包括 DST

如果我将 UTC 日期时间转换为瑞典格式,则包括夏令时 (CEST)。但是,在创建以瑞典为时区的日期时间时,它会获取 CET 而不是 CEST。为什么是这样?

0 投票
1 回答
1498 浏览

python - 如何创建不针对本地时间进行调整的 unix 时间戳?

所以我有 UTC 时间的 datetime 对象,我想将它们转换为 UTC 时间戳。问题是,time.mktime 对本地时间进行了调整。

所以这里有一些代码:

这是一些输出:

所以很明显,如果系统在 UTC 时间没有问题,但如果不是,那就有问题了。设置环境变量并调用 time.tzset 是可行的,但这安全吗?我不想为整个系统调整它。

还有另一种方法可以做到这一点吗?或者以这种方式调用 time.tzset 是否安全。

0 投票
1 回答
373 浏览

python - Python:pytz 返回不可用的 __repr__()

我知道repr()' 的目的是返回一个字符串,该字符串可用于作为 python 命令进行评估并返回相同的对象。不幸的是,pytz这个函数似乎不是很友好,虽然它应该很容易,因为pytz实例是通过一次调用创建的:

返回:

不能简单地将其复制到另一个 ipython 窗口并进行评估,因为它会在tzinfo属性上返回语法错误。

有什么简单的方法让它打印:

当字符串在?'Europe/Berlin'的原始输出中已经清晰可见时repr()

0 投票
2 回答
3580 浏览

python - pytz 等/GMT-5

我无法理解 pytz 中“Etc/GMT-5”时区和 UTC 之间的转换。

到目前为止一切都很好,但后来我尝试将其转换为 UTC:

所以在我看来,当从 GMT-5 的 10:00 转换为 UTC 时,我得到 05:00?我希望 pytz 给我 15:00 代替。

我错过了什么?

编辑:我已经确认美国/东部时区的时区转换正如我所期望的那样工作:

编辑 2:我已经确认,当我使用 Etc/GMT+5 时,我得到 15:00,这是我期望从 Etc/GMT-5 得到的。这是一个 pytz 错误吗?

0 投票
1 回答
682 浏览

python - 更好的python日期时间显示?

我正在使用 babel 和 pytz 来获取时区。然而,对于美国的大部分地区,它映射到下拉框中没有那么有用的东西:

“America/New_York”显示“东部时间”,“America/Nipigon”也显示“东部时间”。

有没有办法进行这种转换以添加城市信息?其他时区似乎还可以,例如“亚洲/雅加达”转换为“印度尼西亚(雅加达)时间”

0 投票
2 回答
71674 浏览

python - Python - 在特定时区设置日期时间(没有 UTC 转换)

需要明确的是,这是 python 2.6,我使用的是 pytz。

这适用于仅处理美国时区的应用程序,我需要能够锚定日期(今天),并仅在 PST 晚上 8 点和晚上 11 点获得 unix 时间戳(纪元时间)。

这真让我抓狂。

因此,即使我正在设置时区并使用该时区创建日期时间,它仍将其创建为 UTC,然后进行转换。这是一个更大的问题,因为当我尝试进行计算时,UTC 将提前一天。

是否有一种简单(或至少合理)的方法可以为今天太平洋标准时间晚上 8 点生成时间戳?

(需要明确的是,我确实理解在大多数情况下使用 UTC 的价值,例如数据库时间戳或一般存储。这不是其中一种情况,我特别需要在 PST 的晚上使用时间戳,而 UTC 不应该必须进入它。)

0 投票
2 回答
2856 浏览

python - python不正确的时区转换使用pytz

我在 python 中编写了以下脚本,将日期时间从任何给定的时区转换为 EST。

当我用 convert2EST('20110220', '11:00:00', 'America/Sao_Paulo') 调用此方法时

输出为“2011-02-20 08:00:00 EST-0500”,但巴西的 DST 于 2 月 20 日结束,正确答案应为“2011-02-20 09:00:00 EST-0500”。

通过一些实验,我发现根据 pytz 巴西的 DST 于 2 月 27 日结束,这是不正确的。

pytz 是否包含错误的数据或者我遗漏了什么。任何帮助或意见将不胜感激。

0 投票
2 回答
1133 浏览

python - pytz:为什么这些不同的方法会给出不同的 UTC 偏移量?

datetime使用 pytz 在特定时区创建对象时,我会根据我使用datetime.datetime()datetime.datetime.now().

now()似乎给出了正确的时区 UTC 偏移量,datetime()给出了一个我不认识的偏移量。

为什么它们不同?datetime()分配的偏移量有什么意义?

这是我的代码:

0 投票
4 回答
50707 浏览

python - 如何检查日期时间对象是否使用 pytz 本地化?

我想存储具有本地化 UTC 时区的日期时间对象。可以给存储 datetime 对象的方法一个非本地化的 datetime (naive) 对象或已经本地化的对象。如何确定是否需要本地化?

缺少 if 条件的代码:

0 投票
1 回答
865 浏览

python - python - 远程主机时区与本地

我正在构建一个用于远程日志监控的 Web 前端,
必须管理大约 10 个不同的地理位置,我遇到了你们中的一些人已经拥有的 3 头地狱犬。

有什么方法可以从远程 HPUX shell 变量中获取以下远程信息:

  • zoneinfo(国家/城市)
  • UTC + 偏移量(我可以从 zoneinfo 轻松获得)

到目前为止,我能得到的最好的是操作系统缩写的时区(这是否足以通过静态构建的 pytz.common_timezones 集合迭代地跨越远程时间并将缩写的区域反向转换为国家/城市,或者我完全走错了路? )

获得国家/城市(我没有)后,我可以轻松获得偏移量

'TLT +0900'

  • 获取远程缩写时区,

(Linux 有更理智的

输出如
ZONE="Europe/London"
而 HP-UX /etc/TIMEZONE 使用缩写时区,如
TZ=CAT-2

我会使用 echo $TZ ,它会输出一些更有用的数据,比如 CAT-2,但是一些远程 HP-UX 甚至没有配置这个,因此迫使我依赖模棱两可的 RFC822 日期,

我已经查看了 pytz、datetime.datetime、email.Utils,但考虑到直接从缩写时间转换为 zoneinfo 国家/城市(pytz 允许相反)是不可能
的远程时区,并在接受注册远程主机的用户输入时添加一个国家/城市下拉列表?

编辑(部分解决方案)

以@Mike Pennington 回答为基础