我在Python中编写了一个小实用程序函数,它返回一个布尔值,表示今天是否在该月的第一周.
这是我到目前为止:
import calendar
import time
y, m = time.localtime(time.time())[:2]
data = calendar.month(y, m)
In [24]: type(temp)
Out[24]:
In [25]: print temp
-------> print(temp)
July 2010
Mo Tu We Th Fr Sa Su
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
我想将此字符串打包到列表列表中.实际上,它只是我想要的第一行,因为它是第一周,但我可以推广该功能,以便它允许我检查我们是否在第n周,其中1< n< 5(取决于当然月份).
一旦我有一个列表列表,我打算检查当前日期是否是列表中的元素.
任何人都可以展示如何将calendar.month()方法的输出转换为列表列表?
最后但并非最不重要,我可能会在这里重新发明轮子.如果有一种内置的方式(或者更多Pythonic的方式),有人请告诉我.
解决方法:
这是一个简单的函数,它将告诉您今天是否在本月的第一周:
from datetime import date
def first_week():
today = date.today()
return today.weekday() - today.day >= -1
这比处理日历库中的调用输出更简单;只需以数字形式(从0开始)获取星期几,然后减去月中的某一天(从1开始).如果结果至少为-1,那么你就在第一周.
标签:python,calendar