Python日历模块:yeardatescalendar() 方法
日历模块允许像程序一样输出日历,并提供与日历相关的附加有用功能。 Calendar 模块中定义的函数和类使用理想化的日历,当前的公历在两个方向上无限扩展。
Python中的yeardatescalendar()方法用于获取一年中月份的周列表作为整周。周列表中的条目是天数。本月以外的天数为零。
Syntax: yeardatescalendar(year, width)
Parameter:
year: year of the calendar
width: [Default: 3] number of months in each row.
Returns: a list of month rows.
代码#1:
Python3
# Python program to demonstrate working
# of yeardatescalendar() method
# importing calendar module
import calendar
obj = calendar.Calendar()
year = 2016
# default value of width is 3
# printing with yeardatescalendar
print(obj.yeardatescalendar(year))
Python3
# Python program to demonstrate working
# of yeardatescalendar() method
# importing calendar module
import calendar
obj = calendar.Calendar()
# iterating with yeardatescalendar
for day in obj.yeardatescalendar(2018, 1):
print(day)
输出:
[[[[datetime.date(2018, 1, 1), datetime.date(2018, 1, 2), datetime.date(2018, 1, 3), datetime.date(2018, 1, 4), datetime.date(2018, 1, 5), datetime.date(2018, 1, 6), datetime.date(2018, 1, 7)], [datetime.date(2018, 1, 8), datetime.date(2018, 1, 9), datetime.date(2018, 1, 10), datetime.date(2018, 1, 11), datetime.date(2018, 1, 12), datetime.date(2018, 1, 13), datetime.date(2018, 1, 14)], [datetime.date(2018, 1, 15), datetime.date(2018, 1, 16), datetime.date(2018, 1, 17), datetime.date(2018, 1, 18), datetime.date(2018, 1, 19), datetime.date(2018, 1, 20), datetime.date(2018, 1, 21)], [datetime.date(2018, 1, 22), datetime.date(2018, 1, 23), datetime.date(2018, 1, 24), datetime.date(2018, 1, 25), datetime.date(2018, 1, 26), datetime.date(2018, 1, 27), datetime.date(2018, 1, 28)],
. . . . .
[datetime.date(2018, 12, 17), datetime.date(2018, 12, 18), datetime.date(2018, 12, 19), datetime.date(2018, 12, 20), datetime.date(2018, 12, 21), datetime.date(2018, 12, 22), datetime.date(2018, 12, 23)], [datetime.date(2018, 12, 24), datetime.date(2018, 12, 25), datetime.date(2018, 12, 26), datetime.date(2018, 12, 27), datetime.date(2018, 12, 28), datetime.date(2018, 12, 29), datetime.date(2018, 12, 30)], [datetime.date(2018, 12, 31), datetime.date(2019, 1, 1), datetime.date(2019, 1, 2), datetime.date(2019, 1, 3), datetime.date(2019, 1, 4), datetime.date(2019, 1, 5), datetime.date(2019, 1, 6)]]]]
请注意,输出中的周是七个 datetime.date 对象的列表。代码 #2:迭代周列表
Python3
# Python program to demonstrate working
# of yeardatescalendar() method
# importing calendar module
import calendar
obj = calendar.Calendar()
# iterating with yeardatescalendar
for day in obj.yeardatescalendar(2018, 1):
print(day)
输出:
[[[datetime.date(2018, 1, 1), datetime.date(2018, 1, 2), datetime.date(2018, 1, 3), datetime.date(2018, 1, 4) . . . datetime.date(2018, 1, 31), datetime.date(2018, 2, 1), datetime.date(2018, 2, 2), datetime.date(2018, 2, 3), datetime.date(2018, 2, 4)]]]
. . . .
[[[datetime.date(2018, 11, 26), datetime.date(2018, 11, 27), datetime.date(2018, 11, 28), datetime.date(2018, 11, 29), datetime.date(2018, 11, 30), datetime.date(2018, 12, 1), datetime.date(2018, 12, 2)], [datetime.date(2018, 12, 3). . .datetime.date(2018, 12, 29), datetime.date(2018, 12, 30)], [datetime.date(2018, 12, 31), datetime.date(2019, 1, 1), datetime.date(2019, 1, 2), datetime.date(2019, 1, 3), datetime.date(2019, 1, 4), datetime.date(2019, 1, 5), datetime.date(2019, 1, 6)]]]