【问题标题】:python datetime, time and calendar overlapping functionalitiespython datetime,时间和日历重叠功能
【发布时间】:2013-03-07 19:10:19
【问题描述】:

每次我想在 python 中做一些与日期相关的事情时,我都会感到困惑。时间、日期时间和日历模块之间似乎有很多重叠的功能。此外,您希望集成在一个模块中的一些功能分布在这三个模块中。这会随着日期时间类、时间元组、时间戳、字符串输入等不同格式的日期变得更糟......

有谁知道比较这三个模块并可能提供面向用例的方法的任何文章或好的教程。

类似这样的:

要获取当前时间戳,请使用:time.time()

要将时间元组转换为时间戳,请使用:calendar.timegm()

要将日期时间转换为时间元组,请使用:datetime.timetuple()

【问题讨论】:

  • 80-90% 的时间,我不想要calendar。另外 10-20% 的时间我忘记了它的存在......
  • 是的,这就是它的状态。我最终推出了自己的 DateTime 类(主要使用 datetime 模块和 pytz 3rd-party 包),因为我再也受不了了。

标签: python datetime time calendar


【解决方案1】:

Times 图书馆试图简化这个问题。 https://github.com/nvie/times

Times 是一个小型、简约的 Python 库,用于处理与时区之间的时间转换,一劳永逸。

它的设计简单明了,但对好的和坏的做法也有意见。

我没有直接使用这个库,但我听说过它的好消息。

如果您查看代码,它会导入这些库:

import datetime
import calendar
import pytz

您可以从代码中了解各个库的使用情况。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    为了完整起见,有一个名为 Arrow 的库试图解决https://arrow.readthedocs.io/en/latest/ 的问题。

    Arrow 是一个 Python 库,它提供了一种明智、人性化的方法来创建、操作、格式化和转换日期、时间和时间戳。它实现和更新日期时间类型,填补功能空白,并提供支持许多常见创建场景的智能模块 API。简而言之,它可以帮助您以更少的导入和更少的代码处理日期和时间。

    【讨论】:

      猜你喜欢
      • 2021-01-22
      • 1970-01-01
      • 2021-12-19
      • 2021-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多