使用Python ...
如何在一年中选择所有星期日(或任何一天)?
[ '01/03/2010','01/10/2010','01/17/2010','01/24/2010', ...]
这些日期代表2010年的星期日.这也适用于我认为的一周中的任何一天.
您可以使用date
该datetime
模块查找一年中的第一个星期日,然后继续添加七天,生成新的星期日:
from datetime import date, timedelta def allsundays(year): d = date(year, 1, 1) # January 1st d += timedelta(days = 6 - d.weekday()) # First Sunday while d.year == year: yield d d += timedelta(days = 7) for d in allsundays(2010): print(d)
使用dateutil模块,您可以这样生成列表:
#!/usr/bin/env python import dateutil.relativedelta as relativedelta import dateutil.rrule as rrule import datetime year=2010 before=datetime.datetime(year,1,1) after=datetime.datetime(year,12,31) rr = rrule.rrule(rrule.WEEKLY,byweekday=relativedelta.SU,dtstart=before) print rr.between(before,after,inc=True)
虽然如果没有dateutil,找到所有星期日并不难,但是这个模块非常方便,特别是如果你有更复杂或更多的日期计算.
如果您使用的是Debian/Ubuntu,则dateutil由python-dateutil包提供.