Python pytz时区转换返回与不同日期的时区偏移量不同的值

2023-12-01

我试图将美国/东部时区日期转换为 UTC,以上传到仅接受 UTC 时间但显示本地时区时间的网站。我有以下代码示例,其中当我转换最近的日期时,偏移量(5:00 或 4:00)没有问题,但是当我转换诸如 1900-01-01 之类的日期时,偏移量会变成大约4:56 等

import pytz
import tzlocal
from datetime import datetime
usest=tzlocal.get_localzone()#My local zone is US/Eastern. I could directly use that here as pytz.timezone("US/Eastern")
dt=datetime(1900,1,1,0,0,0)
dt_aware=usest.localize(dt,is_dst=True)
utcdate=dt_aware.astimezone(pytz.utc)
print (utcdate)
1900-01-01 04:56:00+00:00

dt1=datetime(2016,1,1,0,0,0)
dt1_aware=usest.localize(dt1,is_dst=True)
utcdate1=dt1_aware.astimezone(pytz.utc)
print (utcdate1)
2016-01-01 05:00:00+00:00

如果是第一次约会,我也期待 1900-01-01 05:00:00+00:00。为什么会发生这种情况?它是否正确?

值得注意的是,当我将 UTC 时间“1900-01-01 04:56:00+00:00”转换回美国/东部时间时,它会转换回“1900-01-01 00:00:00” ”。所以,几分钟的差异背后一定有一定的逻辑。

我在维基百科网站上找到了这个“https://en.wikipedia.org/wiki/Tz_database”在“示例区域和规则线”部分下

区域名称 GMTOFF 规则格式 [UNTIL]

美洲区/纽约 -4:56:02 - LMT 1883 11 月 18 日 12:03:58

我不一定明白他们在说什么,但我看到那里有偏移 4:56。我觉得我更接近答案,但需要一些帮助。

更新:我在我的 Mac book pro 上尝试了 zdump,并获得了 1901 年的输出。无法获得之前几年的详细信息。我研究了 tz 数据库中提供的详细信息,但找不到明确的答案。出于我当前项目的目的,我使用了替代区域转换器模块(钟摆),它并不试图忠实于历史,而是遵循当前的夏令时周期,这解决了我的问题。但是,问题仍然存在。在东部时区和 UTC 之间转换 1900 年之前的日期时,为什么会出现与 5:00/4:00 小时不同的时间偏移?


假设您使用的是 Linux 或 BSD,如果运行“zdump -v US/Eastern”,您将看到完整的转换列表。直到 1918 年,美国才改用整小时偏移,可能是因为铁路或电报的需要。

US/Eastern  Sun Nov 18 16:59:59 1883 UT = Sun Nov 18 12:03:57 1883 LMT isdst=0 gmtoff=-17762
US/Eastern  Sun Nov 18 17:00:00 1883 UT = Sun Nov 18 12:00:00 1883 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 31 06:59:59 1918 UT = Sun Mar 31 01:59:59 1918 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 31 07:00:00 1918 UT = Sun Mar 31 03:00:00 1918 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Oct 27 05:59:59 1918 UT = Sun Oct 27 01:59:59 1918 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Oct 27 06:00:00 1918 UT = Sun Oct 27 01:00:00 1918 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 30 06:59:59 1919 UT = Sun Mar 30 01:59:59 1919 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 30 07:00:00 1919 UT = Sun Mar 30 03:00:00 1919 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Oct 26 05:59:59 1919 UT = Sun Oct 26 01:59:59 1919 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Oct 26 06:00:00 1919 UT = Sun Oct 26 01:00:00 1919 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 28 06:59:59 1920 UT = Sun Mar 28 01:59:59 1920 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 28 07:00:00 1920 UT = Sun Mar 28 03:00:00 1920 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Oct 31 05:59:59 1920 UT = Sun Oct 31 01:59:59 1920 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Oct 31 06:00:00 1920 UT = Sun Oct 31 01:00:00 1920 EST isdst=0 gmtoff=-18000

[...]

US/Eastern  Sun Mar  8 06:59:59 2015 UT = Sun Mar  8 01:59:59 2015 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar  8 07:00:00 2015 UT = Sun Mar  8 03:00:00 2015 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  1 05:59:59 2015 UT = Sun Nov  1 01:59:59 2015 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  1 06:00:00 2015 UT = Sun Nov  1 01:00:00 2015 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 13 06:59:59 2016 UT = Sun Mar 13 01:59:59 2016 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 13 07:00:00 2016 UT = Sun Mar 13 03:00:00 2016 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  6 05:59:59 2016 UT = Sun Nov  6 01:59:59 2016 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  6 06:00:00 2016 UT = Sun Nov  6 01:00:00 2016 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 12 06:59:59 2017 UT = Sun Mar 12 01:59:59 2017 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 12 07:00:00 2017 UT = Sun Mar 12 03:00:00 2017 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  5 05:59:59 2017 UT = Sun Nov  5 01:59:59 2017 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  5 06:00:00 2017 UT = Sun Nov  5 01:00:00 2017 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 11 06:59:59 2018 UT = Sun Mar 11 01:59:59 2018 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar 11 07:00:00 2018 UT = Sun Mar 11 03:00:00 2018 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  4 05:59:59 2018 UT = Sun Nov  4 01:59:59 2018 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  4 06:00:00 2018 UT = Sun Nov  4 01:00:00 2018 EST isdst=0 gmtoff=-18000

[...]

US/Eastern  Sun Mar  9 06:59:59 2498 UT = Sun Mar  9 01:59:59 2498 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar  9 07:00:00 2498 UT = Sun Mar  9 03:00:00 2498 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  2 05:59:59 2498 UT = Sun Nov  2 01:59:59 2498 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  2 06:00:00 2498 UT = Sun Nov  2 01:00:00 2498 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar  8 06:59:59 2499 UT = Sun Mar  8 01:59:59 2499 EST isdst=0 gmtoff=-18000
US/Eastern  Sun Mar  8 07:00:00 2499 UT = Sun Mar  8 03:00:00 2499 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  1 05:59:59 2499 UT = Sun Nov  1 01:59:59 2499 EDT isdst=1 gmtoff=-14400
US/Eastern  Sun Nov  1 06:00:00 2499 UT = Sun Nov  1 01:00:00 2499 EST isdst=0 gmtoff=-18000
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python pytz时区转换返回与不同日期的时区偏移量不同的值 的相关文章

  • 使用 JSON 将数据从 Python 导出到 Tableau?

    如何以表格形式从 Python 获取 400 万行和 28 列 我假设 基于搜索 我应该使用 JSON 格式 这种格式可以处理大量数据并且足够快 我制作了 12 行数据的子集并尝试使其正常工作 好消息是 它正在发挥作用 坏消息 不是我想要的
  • Python Turtle 中的 onkeypress() 和 Listen() 问题

    我的一个功能有问题 我使用 Python 3 7 当我尝试使用onkeypress 函数 什么也没有发生 我尝试检查它 但是当我按键时乌龟模块没有反应 我尝试使用 w 键向上移动桨 但这不起作用 以下是我的 py 文件 main py im
  • 如何针对 Heroku 路由器的代理/缓冲情况优化 uWSGI?

    我在 Heroku 的生产中使用 uWSGI 已有一年多了 它似乎比 Gunicorn 处理所有事情都要好得多 随着我们的流量扩大 我试图更好地理解heroku的路由器和uWSGI之间的接口 以优化和防止问题 但它对我来说仍然相当不透明 我
  • 如何在Tensorflow中读取json文件?

    我正在尝试编写一个函数 用于读取张量流中的 json 文件 json 文件具有以下结构 bounding box y 98 5 x 94 0 height 197 width 188 rotation yaw 27 970195770263
  • Tastypie:GET 的身份验证和 POST 的匿名

    我使用 Django Tastypie 来管理我的用户集合 是否可以允许匿名用户在 API 中发布 在某个端点创建新用户时 并限制经过身份验证的用户仅获取自己的用户 而不是所有用户 感谢您的帮助 我发现最简单的事情就是对我正在使用的身份验证
  • AMLS 实验运行停留在“正在运行”状态

    我运行了 Azure 机器学习服务实验 并使用 Jupyter Notebook 记录了神经网络损失 日志记录工作正常 神经网络训练也按预期完成 但实验一直停留在运行状态 关闭计算资源不会关闭实验运行 我无法从实验面板取消它 此外 运行没有
  • 如何在不使用pygame的情况下检测按键事件和按键按住事件

    我目前正在寻找一个能够检测 监视键盘的库 我的目的是检测何时按下某个键 以及当它发生时应该发生一些事情 大多数 SO 帖子建议使用 pygame 但我发现它有点太多了 涉及一个像这样的库来完成这个简单的任务 我也尝试过pynput 这导致只
  • 从 FTP 服务器上的 ZIP 存档读取文件,无需下载到本地系统

    我在 FTP 服务器上的目标文件是 ZIP 文件 CSV 位于更远的两个文件夹中 我如何才能使用 BytesIO 让 pandas 读取 csv 而无需下载它 这是我到目前为止所拥有的 ftp FTP FTP SERVER ftp logi
  • 我可以使用对象(类的实例)作为 Python 中的字典键吗?

    我想使用类实例作为字典键 例如 classinstance class dictionary classinstance hello world Python似乎无法将类作为字典键处理 还是我错了 另外 我可以使用像 classinstan
  • 如何在Python中按天对时间序列数据求和? resample.sum() 没有效果

    我是Python新手 如何根据日期求和数据并绘制结果 我有一个 Series 对象 其数据如下 2017 11 03 07 30 00 NaN 2017 11 03 09 18 00 NaN 2017 11 03 10 00 00 NaN
  • Django 和 REST API 服务基于计算的请求

    我在 Django 中编写了一个机器学习应用程序 以便用户可以在表单中指定一些参数并训练模型 模型训练完成后 我想满足以下请求 curl http localhost 8000 model input XYZ 我希望 Django 返回给定
  • Python 生成器每次调用都会产生相同的值

    我希望这个生成器生成列表中每个连续值的余弦 但每次都得到相同的值 import math angles range 0 361 3 calculate x coords def calc x angle list for a in angl
  • 如何在 python setup.py 中 chmod 文件?

    我使用 setup py 创建了一个 python 包安装 我希望它复制文件夹 为临时创建的 did 中的数据文件 问题是我必须使用 sudo 权限调用 setup py 因为它写入 usr local 因此 当我的数据文件复制到 did
  • 如何在(最好是纯)Python 中解码 QR 码图像?

    TL DR 我需要一种使用 最好是纯 Python 从图像文件中解码 QR 码的方法 我有一个带有 QR 码的 jpg 文件 我想使用 Python 对其进行解码 我发现有几个库声称可以做到这一点 PyQRCode 网站在这里 http p
  • php 32位日期解析1901年12月13日之前的日期

    我很高兴使用strtotime http www php net manual en function strtotime php在我的开发机器上解析日期 其中一些日期是 1800 年代 一个极端的例子是 1500 年代 但我的开发机是64
  • 检查Python multiprocessing.Connection 的实例吗?

    Connection对象是在打开时创建的multiprocessing Pipe 然而 尚不清楚如何检查一个对象是否是一个实例Connection 在Python3 3 4 3 3 3 2 中 检测Connection我可以 from mu
  • 使用 Python 和 lxml 从 HTML 中删除类属性

    Question 如何使用 python 和 lxml 从 html 中删除类属性 Example I have p class DumbClass Lorem ipsum dolor sit amet consectetur adipis
  • Python:正则表达式 findall

    我使用 python 正则表达式从给定字符串中提取某些值 这是我的字符串 mystring txt sometext somemore text here some other text course course1 Id Name mar
  • python chaco轴标签时间格式

    在 Enthought 的 Chaco 中 TimeFormatter类用于格式化刻度的时间字符串 标签 有没有办法指定时间格式 类似于time strftime 源代码现在将显示月份和日期时的格式硬编码为美国风格 MMDD 我想添加一些灵
  • Doctest 返回失败,但“预期”和“得到”完美匹配

    我正在尝试做列表部分的第二个练习 http www openbookproject net thinkcs python english2e ch09 html exercises 如何像计算机科学家一样思考 一书的内容 我基本上必须将给定

随机推荐

  • 在 Angular 5 中重用 html 内容

    在开始这个问题之前 我先澄清一下我是新人 所以请耐心等待 我会尽力解释自己 在引导程序中 我可以通过以下方式生成模态 modal component html div class modal fade div class modal dia
  • 使用 Jackson 将 JPA 实体序列化为 JSON

    关于 Jackson JPA 组合的问题 如果当前应用程序中有大约 20 个实体 并且我在 POM 中添加了 Jackson 依赖项 这是否意味着默认情况下所有实体都准备好转换为JSON目的 我看到一个示例项目似乎只有类注释为 JsonIg
  • CSS 媒体查询打印纸张尺寸

    世界各地的纸形状都不一样 我有一份文档 希望以 A4 纸和 US Letter 纸进行不同的打印 某些元素应该隐藏或显示 明显的建议是使用媒体查询 如下所示 media print and max height 280mm a4 only
  • windows机器上python的无缓冲字符输入

    我正在尝试做什么 我正在尝试设计一个具有单圈计时功能的秒表 当您按 L 时 一圈将完成 当您按 S 时 所有圈将完成 并按顺序显示计时 在 C 中 我可以使用 conio h 中的函数 getch 来完成此操作 这将非常容易 我想用 pyt
  • 显示App_Data中存储的图像

    我的 App Data 目录中有 2 个图像文件 我想在我的视图中显示它们 如下所示 foreach var media in Model div class col lg 3 col md 4 col xs 6 thumb a class
  • 如何在IDEA/WebStorm中生成JSDoc文档?

    是否可以在IDEA WebStorm中一键生成JSDoc文档 就像我用IntelliJ IDEA做JavaDoc一样 TL DR 要将 JSDoc 文档生成功能添加到 IntelliJ IDEA WebStorm Install jsdoc
  • 避免从客户端 > Web 服务 > SQL Server 进行双跳的解决方案

    我的项目涉及用户从客户端连接到 Web 服务 然后将 Web 服务连接到 SQL Server Web 服务和 SQL Server 位于不同的计算机上 由于安全需求 我们在SQL Server中不能使用混合模式 只能使用Windows身份
  • TabLayout 和 ViewHolder 的渲染问题

    我目前无法仅使用 TabLayout 和 ViewPager 渲染 am 活动 我收到此错误 Style ResourceReference namespace apk res auto type attr name textAppeara
  • 如何使用 python 查找包含特定文本的单元格?

    我正在尝试迭代 xlsx 文件并使用 python 找到包含我们公司名称的单元格 该文件由2张或多张纸组成 每张有6个公司信息 我正在寻找的每个细胞的形成如下 单元格 F6 1ST 公司 A 公司 B 单元格 G6 2ND 公司 C 公司
  • 为什么我们不能使用构造函数本身初始化 servlet?

    为什么我们必须重写 Servlet 中的 init 方法 而我们可以在构造函数中进行初始化 并让 Web 容器调用构造函数 在调用构造函数时将 ServletConfig 引用传递给 servlet 当然 容器必须为此使用反射 但容器无论如
  • 如何拉伸图像以填充 UILabel 中背景中设置的标签宽度?

    我有简单的基于视图的应用程序 我只采取了UILabel on it 以下是我在 viewDidLoad 中的代码 lblBack textColor UIColor blueColor UIImage img UIImage imageNa
  • 将变量从 JSP 传递到 servlet

    一直以来 当我在 Google 上搜索时 我得到了许多关于从 JSP 向 servlet 传递变量的答案 这些答案都发布在 Stackoverflow 中 但我想知道 我没有得到以下答案 How to pass a variable fro
  • 用python计算字母数

    我想做的是计算每个字母在字符串中出现的次数 我想将详细信息存储在字典中 以下是我的尝试 def scan string list string for letter in string list string append letter l
  • ImportError: DLL 加载失败: %1 不是 _imaging 模块的有效 Win32 应用程序

    我正在尝试使用 Python 2 7 9 中的灰度共生矩阵从图像中提取特征 我在其他答案中找到了下面给出的代码 当我运行这段代码时 我得到 ImportError 未安装 imaging C 模块 然后我安装了 PIL 模块 当我尝试导入它
  • Android - Crashlytics,在崩溃期间运行代码

    我遇到了一个严重的崩溃案例 这是由于某些异步在 SQLite 中以不正确的顺序执行操作而导致的 结果崩溃了 我花了一些时间来调试所有这些 并且访问内部数据库会有很大帮助 我知道如何访问开发设备上的内部数据库 但如果出现问题 我希望能够获得该
  • head 中存在重复的 JSON-LD 脚本

    我必须注射多个scriptJSON LD 数据的元素到head我的申请 全部都属于同一 type 这是由于从不同的数据源提取不同的字段 这种重复会导致任何问题吗 我希望谷歌能将其简单地翻译为
  • 如何检查字符串不为空?

    if string equals 如何检查字符串是否不为空 if string equals 检查 null 是通过以下方式完成的if string null 如果你想检查它是否为空或为空 你需要if string null string
  • Python - if 语句无法正常工作[重复]

    这个问题在这里已经有答案了 我刚刚开始使用 python 并且被困在一些在我看来显然应该有效的东西上 这是我的第一个代码 我只是尝试与用户进行对话 year input What year are you in school yearlik
  • 协变克隆函数的误解

    这个问题与最近的一个问题有关多态性不适用于相同数据类型 基类和继承类 的函数返回值 考虑代码 include
  • Python pytz时区转换返回与不同日期的时区偏移量不同的值

    我试图将美国 东部时区日期转换为 UTC 以上传到仅接受 UTC 时间但显示本地时区时间的网站 我有以下代码示例 其中当我转换最近的日期时 偏移量 5 00 或 4 00 没有问题 但是当我转换诸如 1900 01 01 之类的日期时 偏移