要以不同于其中一個可用默認值的格式生成輸出,請使用calendar計算日期并將值組織為周和月范圍,然后迭代結果。Calendar模塊的 weekheader(),monthcalendar()和 yeardays2calendar()方法對此特別有用。
調用yeardays2calendar()會生成一系列“月份行”列表。每個列表包括月份作為另一個周列表。這幾周是由日期編號(1-31)和工作日編號(0-6)組成的元組列表。超出月份的天數(shù)為 0。
import calendar
import pprint
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()。
import calendar
cal = calendar.TextCalendar(calendar.SUNDAY)
print(cal.formatyear(2017, 2, 1, 1, 3))
# 輸出
# 2017
#
# January February March
# Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
# 1 2 3 4 5 6 7 1 2 3 4 1 2 3 4
# 8 9 10 11 12 13 14 5 6 7 8 9 10 11 5 6 7 8 9 10 11
# 15 16 17 18 19 20 21 12 13 14 15 16 17 18 12 13 14 15 16 17 18
# 22 23 24 25 26 27 28 19 20 21 22 23 24 25 19 20 21 22 23 24 25
# 29 30 31 26 27 28 26 27 28 29 30 31
#
# April May June
# Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
# 1 1 2 3 4 5 6 1 2 3
# 2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10
# 9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17
# 16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24
# 23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30
# 30
#
# July August September
# Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
# 1 1 2 3 4 5 1 2
# 2 3 4 5 6 7 8 6 7 8 9 10 11 12 3 4 5 6 7 8 9
# 9 10 11 12 13 14 15 13 14 15 16 17 18 19 10 11 12 13 14 15 16
# 16 17 18 19 20 21 22 20 21 22 23 24 25 26 17 18 19 20 21 22 23
# 23 24 25 26 27 28 29 27 28 29 30 31 24 25 26 27 28 29 30
# 30 31
#
# October November December
# Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
# 1 2 3 4 5 6 7 1 2 3 4 1 2
# 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
# 15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
# 22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
# 29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
# 31
day_name,day_abbr,month_name,和 month_abbr模塊主要用于生產(chǎn)定制格式化輸出(即,包括在 HTML 輸出鏈接)。它們會針對當前區(qū)域自動化配置。
下一篇: 沒有了
初級會計職稱中級會計職稱經(jīng)濟師注冊會計師證券從業(yè)銀行從業(yè)會計實操統(tǒng)計師審計師高級會計師基金從業(yè)資格稅務師資產(chǎn)評估師國際內審師ACCA/CAT價格鑒證師統(tǒng)計資格從業(yè)
一級建造師二級建造師消防工程師造價工程師土建職稱房地產(chǎn)經(jīng)紀人公路檢測工程師建筑八大員注冊建筑師二級造價師監(jiān)理工程師咨詢工程師房地產(chǎn)估價師 城鄉(xiāng)規(guī)劃師結構工程師巖土工程師安全工程師設備監(jiān)理師環(huán)境影響評價土地登記代理公路造價師公路監(jiān)理師化工工程師暖通工程師給排水工程師計量工程師
執(zhí)業(yè)藥師執(zhí)業(yè)醫(yī)師衛(wèi)生資格考試衛(wèi)生高級職稱護士資格證初級護師主管護師住院醫(yī)師臨床執(zhí)業(yè)醫(yī)師臨床助理醫(yī)師中醫(yī)執(zhí)業(yè)醫(yī)師中醫(yī)助理醫(yī)師中西醫(yī)醫(yī)師中西醫(yī)助理口腔執(zhí)業(yè)醫(yī)師口腔助理醫(yī)師公共衛(wèi)生醫(yī)師公衛(wèi)助理醫(yī)師實踐技能內科主治醫(yī)師外科主治醫(yī)師中醫(yī)內科主治兒科主治醫(yī)師婦產(chǎn)科醫(yī)師西藥士/師中藥士/師臨床檢驗技師臨床醫(yī)學理論中醫(yī)理論