【问题标题】:Are there any datetime.tzinfo implementations in C?C 中是否有任何 datetime.tzinfo 实现?
【发布时间】:2018-05-14 17:49:46
【问题描述】:

我一直在研究一个使用 C 扩展模块进行 ISO 8601 解析的 Python 库。

其中一部分工作需要创建 tzinfo 对象,这是迄今为止解析中最慢的部分。调用 tzinfo 的 Python 实现(当前为 pytz.FixedOffset)太慢了。

在 Python 3.7 中,datetime.timezone 最终暴露给 C-API。我的代码利用了它,并通过使用 C 实现而不是 Python 实现获得了巨大的性能提升。我很想找到一个可用于 Python datetime.timezone 的“反向移植”?

我见过很多 tzinfo 的 Python 实现(pytzdatetuil.tzdjango.utils.timezonepsycopg2.tz),但在 C 语言中没有一个。

是否有tzinfo 的C 实现(除了datetime.timezone)?

【问题讨论】:

    标签: python cpython python-c-api python-datetime


    【解决方案1】:

    经过一番搜索,我最终在Pendulum's 低级ISO 8601 parser 中找到了一个实现。

    编辑:这个实现最终用在my backport of datetime.fromisoformat

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      相关资源
      最近更新 更多