gpt4 book ai didi

python - 使用 python 生成重复日期?

转载 作者:太空狗 更新时间:2023-10-29 16:54:08 26 4
gpt4 key购买 nike

如何使用 Python 生成重复日期?例如,我想为“每两个月的第三个星期五”生成重复日期。我想为每天、每周、每月、每年生成重复日期(即,与 Outlook Express 中的重复功能相同)。

最佳答案

import dateutil.rrule as dr
import dateutil.parser as dp
import dateutil.relativedelta as drel

start=dp.parse("19/02/2010") # Third Friday in Feb 2010

这会生成每个月的第三个星期五

rr = dr.rrule(dr.MONTHLY,byweekday=drel.FR(3),dtstart=start, count=10)

这每三个星期五打印一次:

print map(str,rr)
# ['2010-02-19 00:00:00', '2010-03-19 00:00:00', '2010-04-16 00:00:00', '2010-05-21 00:00:00', '2010-06-18 00:00:00', '2010-07-16 00:00:00', '2010-08-20 00:00:00', '2010-09-17 00:00:00', '2010-10-15 00:00:00', '2010-11-19 00:00:00']

rr 是一个可迭代对象,因此您可以使用切片符号来挑选出所有其他项目。这将打印每隔一个月的第三个星期五:

print map(str,rr[::2])
# ['2010-02-19 00:00:00', '2010-04-16 00:00:00', '2010-06-18 00:00:00', '2010-08-20 00:00:00', '2010-10-15 00:00:00']

在上面,我使用 str 稍微美化了输出。要获得更灵活的日期字符串格式,请使用 strftime:参见 http://au2.php.net/strftime或所有选项的 strftime 手册页。

print [d.strftime('%d/%m/%Y') for d in rr[::2]]
# ['19/02/2010', '16/04/2010', '18/06/2010', '20/08/2010', '15/10/2010']

关于python - 使用 python 生成重复日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2295765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com