Python日期实用程序库

时间:2012-03-03 20:31:13

标签: python datetime

python中是否有可以在某一天生成日期维度的库?我想用它来进行数据分析。我经常会有一系列日期,但出于汇总目的,我希望能够快速生成与当天相关的日期 - 例如月份的第一个日期,一周的第一天等等。

我想我可以创造自己的,但如果有什么东西已经很好了。

由于

2 个答案:

答案 0 :(得分:6)

查看dateutil

recurrence rulesrelative deltas就是你想要的。

例如,如果你想获得最后一个星期一:

import dateutil.relativedelta as rd
import datetime

last_monday = datetime.date.today() + rd.relativedelta(weekday=rd.MO(-1))

答案 1 :(得分:2)

timedatetime个模块

出于某些目的,您可以time module使用strftime()方法,date module使用strftime()方法。它允许您拉动其他数据:

  • 一年中的一周中的数字,
  • 工作日的数量(您也可以使用weekday() method获取周一0和周日6之间的工作日数字,
  • 年,
  • 月,

这足以计算一个月的第一天,一周的第一天和其他一些数据。

实施例

要提取您需要的数据,请执行以下操作:

  • 提取星期几的数字

    >>> from datetime import datetime
    >>> datetime.now().weekday()
    6
    
  • 使用replace()对象的datetime函数拉取当月的第一天:

    >>> from datetime import datetime
    >>> datetime.now()
    datetime.datetime(2012, 3, 3, 21, 41, 20, 953000)
    >>> first_day_of_the_month = datetime.now().replace(day=1)
    >>> first_day_of_the_month
    datetime.datetime(2012, 3, 1, 21, 41, 20, 953000)
    

编辑:正如J.F. Sebastian在评论中建议的那样,datetime个对象有weekday()个方法,这使得使用int(given_date.strftime('%w'))毫无意义。我已经更新了上面的答案。