全功能日期和时间库

2024-04-28 21:57:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否有人知道一个很好的日期和时间库,它正确地实现了如下功能:

  • 微秒分辨率
  • 夏令时
    • 例如:它知道美国2009年3月8日上午2:30不存在尊重日光节约的时区。
    • 我应该能够指定像“US/Eastern”这样的时区,并且它应该足够聪明,能够知道给定的时间戳应该对应于EST还是EDT。
  • 自定义日期范围
    • 创建跳过周末和假日的专门业务日历的能力。
  • 自定义时间范围
    • 定义工作时间的能力,以便在工作时间之外请求的时间可以向上或向下舍入到下一个或上一个有效小时。
  • 算术
    • 能够对所有单位(年、月、周、日、小时、分钟等)的整数进行加减运算。请注意,添加0.5天之类的内容并没有很好的定义,因为它可能意味着12小时,也可能意味着一天的一半时间(在日光节约更改时,这不是24小时)。
  • 自然边界对齐
    • 给我一个时间戳,我希望能够做一些事情,比如四舍五入到最近的十年,年,月,周,…,四分之一小时,小时,等等

我目前使用Python,不过我很高兴能用另一种语言来解决,比如Perl、C或C++。

我发现内置的Python库缺乏日光节约逻辑的复杂性,而且(对我来说)没有一种明显的方法来设置自定义时间范围之类的内容。


Tags: 功能内容定义时间分辨率能力算术业务
3条回答

Python的标准库的datetime模块被故意限制在没有争议的方面,这些方面并没有通过法律法规一直在改变——这就是为什么它故意排除了对时区、DST、模糊解析和定义错误的算术(例如“一个月后”…)等的直接支持。除此之外,dateutil对于许多类型的操作,pytz对于时区(包括DST问题),添加您所要求的大部分内容,尽管“假日”这类爆炸性事件的变化非常大,不仅在政治管辖区内如此,甚至在简单管辖区内的雇主之间也如此(例如,在美国,有些雇主认为“哥伦布日”是假日,但许多雇主并不这样认为——有些在许多地方设有办事处的雇主将其视为某些地方的假日,但是在其他情况下不会;考虑到这种完全混乱的情况,期望找到一个通用库,以某种方式神奇地理解混乱是相当奇怪的)。

前几天看到的,我自己都没用过。。。看起来很有前途。http://crsmithdev.com/arrow/

看看dateutil和可能的mx.DateTime包。

相关问题 更多 >