当前位置: 首页 > 图灵资讯 > 行业资讯> calendar可以在python3时间中生成日历吗?

calendar可以在python3时间中生成日历吗?

来源:图灵python
时间: 2024-11-13 16:41:34

做完一个月历后,小伙们直呼不过瘾,想要做出一本日历来。小编已经要赔付大家了,毕竟日历比月历难得多,但是反过来想,是不是可以做出一页的日历打印下来,贴在家里和工作的地方都很方便,而且也是一个省钱的好办法了。作为一个行动派,小编马上就为大家安排上这方面的内容。

要以不同于其中一个可用默认值的格式生成输出,请使用calendar计算日期并将值组织为周和月范围,然后迭代结果。Calendar模块的 weekheader(),monthcalendar()和 yeardays2calendar()方法对此特别有用。

调用yeardays2calendar()会生成一系列“月份行”列表。每个列表包括月份作为另一个周列表。这几周是由日期编号(1-31)和工作日编号(0-6)组成的元组列表。超出月份的天数为 0。

importcalendar
importpprint

cal=calendar.Calendar(calendar.SUNDAY)

cal_data=cal.yeardays2calendar(2017,3)
print('len(cal_data):',len(cal_data))

top_months=cal_data[0]
print('len(top_months):',len(top_months))

first_month=top_months[0]
print('len(first_month):',len(first_month))

print('first_month:')
pprint.pprint(first_month,width=65)

#输出
#len(cal_data):4
#len(top_months):3
#len(first_month):5
#first_month:
#[[(1,6),(2,0),(3,1),(4,2),(5,3),(6,4),(7,5)],
#[(8,6),(9,0),(10,1),(11,2),(12,3),(13,4),(14,5)],
#[(15,6),(16,0),(17,1),(18,2),(19,3),(20,4),(21,5)],
#[(22,6),(23,0),(24,1),(25,2),(26,3),(27,4),(28,5)],
#[(29,6),(30,0),(31,1),(0,2),(0,3),(0,4),(0,5)]]

相当于使用formatyear()。

importcalendar

cal=calendar.TextCalendar(calendar.SUNDAY)
print(cal.formatyear(2017,2,1,1,3))

#输出
#2017
#
#JanuaryFebruaryMarch
#SuMoTuWeThFrSaSuMoTuWeThFrSaSuMoTuWeThFrSa
#123456712341234
#891011121314567891011567891011
#151617181920211213141516171812131415161718
#222324252627281920212223242519202122232425
#293031262728262728293031
#
#AprilMayJune
#SuMoTuWeThFrSaSuMoTuWeThFrSaSuMoTuWeThFrSa
#1123456123
#23456787891011121345678910
#91011121314151415161718192011121314151617
#161718192021222122232425262718192021222324
#2324252627282928293031252627282930
#30
#
#JulyAugustSeptember
#SuMoTuWeThFrSaSuMoTuWeThFrSaSuMoTuWeThFrSa
#11234512
#234567867891011123456789
#91011121314151314151617181910111213141516
#161718192021222021222324252617181920212223
#23242526272829272829303124252627282930
#3031
#
#OctoberNovemberDecember
#SuMoTuWeThFrSaSuMoTuWeThFrSaSuMoTuWeThFrSa
#1234567123412
#8910111213145678910113456789
#151617181920211213141516171810111213141516
#222324252627281920212223242517181920212223
#293031262728293024252627282930
#31

day_name,day_abbr,month_name,和 month_abbr模块主要用于生产定制格式化输出(即,包括在 HTML 输出链接)。它们会针对当前区域自动化配置。

这些代码看起来很长,其实只要复制运行就可以啦,小伙伴们不要不敢尝试~更多Python学习推荐:PyThon学习网教学中心