Использование Python...
Как я могу выбрать все воскресенья (или какой-либо день в этом отношении) через год?
[ '01/03/2010','01/10/2010','01/17/2010','01/24/2010', ...]
Эти даты представляют воскресенья на 2010. Это могло также относиться к любому дню недели, которую я предполагаю.
Вы можете использовать дату
из 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.
.