问题标签 [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.
pytz - 为什么 pytz 偏移不正确?
我有一个 python 应用程序向不同时区的用户发送电子邮件提醒。开始时间设置为给定的日期和时间,并且可以将提醒设置为开始时间之前的几分钟。
以前的开发者没有考虑到用户的时区,所以总是根据服务器的时间发送提醒。
使用pytz 文档,我最初尝试将 UTC 用于所有内容,虽然这在开发中有效,但提醒在生产中仍然关闭。起初,我认为这是服务器上的 NTP 的问题,但事实并非如此。
我想确认开发和生产的行为确实不同,所以我创建了一个简单的脚本来测试两者:
开发结果(正确):
生产结果(不正确):
所以看起来 pytz 只是给出了错误的偏移量。请注意,如果我使用不同的时区并不重要;我试过的每一个都给出了错误的偏移量。
至于环境的区别,两者都是 Ubuntu 盒子,但生产运行的是 Python 2.5.2,开发是 2.6.2。
pytz 报告的错误并不多,而且我在任何搜索中都没有找到不同偏移量的原因。
那么这是我的生产服务器上的 pytz 数据的问题吗?一个 pytz 错误?还是我对 pytz 的理解有问题?我错过了什么?
python - 在python中获取给定时区的DST边界
是否可以使用 pytz 获取给定时区的 DST 边界?
python - python / pytz问题从本地时区转换为UTC然后返回
我需要将日期从本地时间戳转换为 UTC,然后再转换回本地时间戳。
奇怪的是,当从 UTC 转换回本地时,python 决定它是 PDT 而不是原始 PST,因此转换后的日期增加了一个小时。有人可以向我解释发生了什么或我做错了什么吗?
这是输出:
python - 加法后的 Python DST 和时区检测
所以我目前有一行代码,如下所示:
我希望结果考虑到可能发生的任何 DST 影响(例如,如果我在 2012 年 11 月 4 日上午 00:30 并增加 3 小时,我会得到凌晨 02:30,因为回退夏令时)。我已经研究过使用 pytz 和 python-dateutil,但它们似乎都不支持这一点,或者至少在没有包含所有时区的单独文件的情况下不支持它。更重要的是,时间可能不一定与当前系统处于同一时区,甚至可能是过去。我确信有一种简单的方法可以做到这一点(或者我希望 Python 如此),但我现在似乎不需要什么。有任何想法吗?
python - 在 tz 不知道时间、UTC 和在 python 中使用时区之间正确转换
我有一个格式为“20111014T090000”的字符串,带有相关的时区 ID(TZID=America/Los_Angeles),我想将其转换为 UTC 时间(以秒为单位),并带有适当的偏移量。
问题似乎是我的输出时间减少了 1 小时(它在 PST 中应该是 PDT)并且我正在使用 pytz 来帮助处理 timezo
如何根据时区 ID 获得正确的偏移量?
python - 如何确定 DST 何时在 Python 中的特定位置开始或结束?
我正在寻找一种方法来确定我正在处理的 Python 脚本中给定时区的 DST 何时开始或结束。
我知道pytz可以将我正在工作的 UTC 日期转换为本地时间,并将 DST 考虑在内,但是对于这个特定的应用程序,我需要知道转换的点。
有什么建议么?
python - 使用 gaepytz 导入错误(gae 中的 pytz)
我正在尝试在 gae 上使用 pytz 并找到 gaepytz。但是,导入时出现导入错误,我认为这是因为我没有将原始 pytz 和 gaepytz 正确并排放置在我的应用程序目录中。(假设我需要!)
在中的一个foo.py
文件中appdir
,我有:
从gaepytz.gae
import pytz
导入 zipfile 时出现错误gae.py
,这反过来又无法导入 _io 模块。
我错过了什么?谢谢
在进行更多实验时,我发现即使没有 gaepytz ie 也会出现此错误。在 helloworld 应用程序中导入 zipfile 会出现以下错误:
python - 了解 GMT 差异
我有以下代码
如果我想知道 ktm 的区域,我可以这样做
我知道,加德满都是 GMP+5:45。有什么方法可以在 pytz.js 中获得这种差异。
谢谢
python - 如何在 Python 中将天真的日期时间转换为可识别 DST 的日期时间?
我目前正在开发一个日历系统的后端,该系统返回朴素的 Python 日期时间。前端的工作方式是用户创建各种日历事件,前端返回他们创建的事件的原始版本(例如,如果用户选择 2020 年 10 月 5 日下午 3:00-4:00,则前端返回datetime.datetime(2020, 10, 5, 15, 0, 0)
作为开始和datetime.datetime(2011, 10, 5, 16, 0, 0)
结束。
我需要做的是获取天真的日期时间并将其转换为 UTC 以存储在数据库中。系统的每个用户都已经指定了他们的时区偏好,因此天真的日期时间被认为是与他们的时区偏好相同的时区。显然,日期时间需要相对于 UTC 存储,这样如果用户更改时区,现有事件仍将在他们安排的正确时间呈现。
前端不在我的控制范围内,因此我无法更改收到的数据。数据库设计也超出了我的控制范围,因此我无法更改存储的数据以及存储方式。
这是我到目前为止采取的大致方法:
我遇到的问题与夏令时有关:
请注意,无论日期如何,使用“替换”将时区设置为 PST 而不是 PDT,这使其 UTC 偏移量为 8 小时,而不是预期的 7 小时 DST 偏移量,因此最终会错误地保存时间。
我有哪些选项可以将天真的日期时间转换为正确的 PDT(或其他与时区相关的 DST)tzinfo?
(另外,请注意,并非所有用户都生活在遵守 DST 的时区,或者可能生活在在不同时间切换的时区,因此为了在保存之前进行时间增量校正等解决方案,我需要知道是否时区支持 DST,以及在哪个日期切换)。