如何在Django的日历应用中找到“周”?

2 投票
2 回答
2843 浏览
提问于 2025-04-15 22:24

这是一个关于MyCalendar.py的代码:

from django import template
imort calendar
import datetime

date = datetime.date.today()
week = ???
...

问题是我想获取包含今天日期的那一周。我该怎么做呢?

谢谢大家的帮助!

版本:Django-1.0 Python-2.6.4

2 个回答

3

如果你想要获取周数,也就是0到53之间的数字,可以试试 isocalendar 这个方法。

date=datetime.date.today()
week=date.isocalendar()[1]

http://docs.python.org/library/datetime.html#datetime.datetime.isocalendar

11

看了你的评论,我觉得你想要的是这个:

import datetime

today = datetime.date.today()
weekday = today.weekday()
start_delta = datetime.timedelta(days=weekday)
start_of_week = today - start_delta
week_dates = [start_of_week + datetime.timedelta(days=i) for i in range(7)]
print week_dates

输出结果是:

[datetime.date(2010, 5, 3), datetime.date(2010, 5, 4), datetime.date(2010, 5, 5), datetime.date(2010, 5, 6), datetime.date(2010, 5, 7), datetime.date(2010, 5, 8), datetime.date(2010, 5, 9)]

撰写回答