(十三)Python中級知識-カレンダーモジュール
48078 ワード
1、概要
timeとdatetimeモジュールがあれば、カレンダーモジュールを組み合わせることで、時間処理の各方面の応用をよりよくカバーすることができます.カレンダ・モジュールは、取得日が曜日、閏年平年かどうかを判断したり、現在の月の日数を取得したり、カレンダ出力を直接返すなど、カレンダおよび曜日関連の操作を主に処理します.カレンダモジュールを使用する前に、次のようにインポートします.
2、常用関数
次の表はcalendarの一般的な関数をまとめています.
関数名
説明
calendar.month(year, month)
ある年の月のカレンダーを返す
calendar.setfirstweekday(day)
ある日を週の最初の日に設定します.0から始まり、0は月曜日を表します.
calendar.firstweekday()
週に戻る初日は何曜日ですか
calendar.calendar(year, w, l, m)
ある年のカレンダーを返します.3ヶ月は1行です.w毎日幅間隔文字;l各行間隔距離;mは毎週行数です.
calendar.isleap(year)
ブール値を返します.ある年は閏年でTrueを返します.そうでない場合はfalseです.
calendar.leapdays(y1, y2)
y 1年とy 2年の間の閏年の合計数を返します.
calendar.monthcalendar(year,month)
単一レベルのネストされたリストを返します.サブリストごとに1週間の整数をロードします.ある年のある月の外の日付はすべて0に設定します;範囲内の日は、その月の何日目から表示され、1から始まります.
calendar.monthrange(year,month)
2つの整数を返します.「≪結果を返す|Return Results|Essbase_Studio≫」で、1番目が月の初日が曜日で、2番目が月の日数です.曜日は0(月)から6(日)までです.
calendar.prcal(year, w, l, m)
自己印刷出力カレンダ:print(calendar.calendar(year,w,l,m))
calendar.prmonth(year, month)
印刷出力月を持参したカレンダーはprint(year,month)に等しい
calendar.timegm(タイムメタグループパラメータ)
とtime.gmtimeは逆に、時間メタグループを受信し、その時刻のタイムスタンプ(1970紀元後に経過した浮動小数点秒数)を返す.calendar.timegmはタイムゾーン変換を自動的に追加しません
calendar.weekday(year,month,day)
年月日を入力し、その日が曜日であることを知る(なお、戻り値は0~6の順で月曜~日曜に対応)
この表の関数はすべてケースで実践されており、ケースを直接実行して結果を見ることができます.
3、ケース
次の例では、カレンダーの一般的な関数のすべての実践的な操作を示します.
出力結果:
4、まとめ
カレンダーモジュールはやはり役に立ち、週などの問題を処理するのによく使われます.タイムスタンプの概念は、1584345130などのミリ秒数の列です.ここではPython 3のもう一つのデータ型を用いた:辞書、辞書はjavaの中で少しMapクラスに似ていて、get方法で値を取ります.カレンダーモジュールはコンソールに並べられた文字列のカレンダーを直接印刷することができ、非常に直感的で、適用シーンはまだ予想されていません.
timeとdatetimeモジュールがあれば、カレンダーモジュールを組み合わせることで、時間処理の各方面の応用をよりよくカバーすることができます.カレンダ・モジュールは、取得日が曜日、閏年平年かどうかを判断したり、現在の月の日数を取得したり、カレンダ出力を直接返すなど、カレンダおよび曜日関連の操作を主に処理します.カレンダモジュールを使用する前に、次のようにインポートします.
import calendar
2、常用関数
次の表はcalendarの一般的な関数をまとめています.
関数名
説明
calendar.month(year, month)
ある年の月のカレンダーを返す
calendar.setfirstweekday(day)
ある日を週の最初の日に設定します.0から始まり、0は月曜日を表します.
calendar.firstweekday()
週に戻る初日は何曜日ですか
calendar.calendar(year, w, l, m)
ある年のカレンダーを返します.3ヶ月は1行です.w毎日幅間隔文字;l各行間隔距離;mは毎週行数です.
calendar.isleap(year)
ブール値を返します.ある年は閏年でTrueを返します.そうでない場合はfalseです.
calendar.leapdays(y1, y2)
y 1年とy 2年の間の閏年の合計数を返します.
calendar.monthcalendar(year,month)
単一レベルのネストされたリストを返します.サブリストごとに1週間の整数をロードします.ある年のある月の外の日付はすべて0に設定します;範囲内の日は、その月の何日目から表示され、1から始まります.
calendar.monthrange(year,month)
2つの整数を返します.「≪結果を返す|Return Results|Essbase_Studio≫」で、1番目が月の初日が曜日で、2番目が月の日数です.曜日は0(月)から6(日)までです.
calendar.prcal(year, w, l, m)
自己印刷出力カレンダ:print(calendar.calendar(year,w,l,m))
calendar.prmonth(year, month)
印刷出力月を持参したカレンダーはprint(year,month)に等しい
calendar.timegm(タイムメタグループパラメータ)
とtime.gmtimeは逆に、時間メタグループを受信し、その時刻のタイムスタンプ(1970紀元後に経過した浮動小数点秒数)を返す.calendar.timegmはタイムゾーン変換を自動的に追加しません
calendar.weekday(year,month,day)
年月日を入力し、その日が曜日であることを知る(なお、戻り値は0~6の順で月曜~日曜に対応)
この表の関数はすべてケースで実践されており、ケースを直接実行して結果を見ることができます.
3、ケース
次の例では、カレンダーの一般的な関数のすべての実践的な操作を示します.
import calendar
import time
# 2020 3
print(calendar.month(2020, 3))
#
calendar.setfirstweekday(0) # 0 、1
print(calendar.firstweekday())
# ,3 。 2 ; 1;4 。
print(calendar.calendar(2020, 2, 1, 4))
# True, false。
print(" :", calendar.isleap(2020))
# 2000,2020 。
print(" :", calendar.leapdays(2000, 2020))
# 。 。2020 3 0; , 1 。
print(calendar.monthcalendar(2020, 3))
# 。 : , 。 0( ) 6( )。
print(calendar.monthrange(2020, 3))
# print(calendar.calendar(2020, 2, 1, 4))
calendar.prcal(2020, 2, 1, 4)
# , print(calendar.month(2020, 3))
calendar.prmonth(2020, 3)
# calendar.timegm
# time.gmtime , , (1970 )
print("time :", time.gmtime())
print(" :", calendar.timegm((2020, 3, 16, 7, 52, 10, 0, 76, 0)))
# , , java switch case
def getChineseWeek(w):
# w dic , dic[key]; default( , None)
dic = { #
0: " ",
1: " ",
2: " ",
3: " ",
4: " ",
5: " ",
6: " "
}
val = dic.get(w, " ") # , , ‘ ’
return val
# , ( , 0 6 )。
year, month, day = 2020, 3, 16#
print("%s %s %s :%s" % (year, month, day, getChineseWeek(calendar.weekday(year, month, day))))# getChineseWeek, ,%s
出力結果:
March 2020
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
0
2020
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 1
6 7 8 9 10 11 12 3 4 5 6 7 8 9 2 3 4 5 6 7 8
13 14 15 16 17 18 19 10 11 12 13 14 15 16 9 10 11 12 13 14 15
20 21 22 23 24 25 26 17 18 19 20 21 22 23 16 17 18 19 20 21 22
27 28 29 30 31 24 25 26 27 28 29 23 24 25 26 27 28 29
30 31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 3 1 2 3 4 5 6 7
6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
27 28 29 30 25 26 27 28 29 30 31 29 30
July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 1 2 3 4 5 6
6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13
13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20
20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27
27 28 29 30 31 24 25 26 27 28 29 30 28 29 30
31
October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 1 1 2 3 4 5 6
5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
30
: True
: 5
[[0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0]]
(6, 31)
2020
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 1
6 7 8 9 10 11 12 3 4 5 6 7 8 9 2 3 4 5 6 7 8
13 14 15 16 17 18 19 10 11 12 13 14 15 16 9 10 11 12 13 14 15
20 21 22 23 24 25 26 17 18 19 20 21 22 23 16 17 18 19 20 21 22
27 28 29 30 31 24 25 26 27 28 29 23 24 25 26 27 28 29
30 31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 3 1 2 3 4 5 6 7
6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
27 28 29 30 25 26 27 28 29 30 31 29 30
July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 1 2 1 2 3 4 5 6
6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13
13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20
20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27
27 28 29 30 31 24 25 26 27 28 29 30 28 29 30
31
October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 1 1 2 3 4 5 6
5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
30
March 2020
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
time : time.struct_time(tm_year=2020, tm_mon=3, tm_mday=16, tm_hour=9, tm_min=17, tm_sec=13, tm_wday=0, tm_yday=76, tm_isdst=0)
: 1584345130
2020 3 16 :
4、まとめ
カレンダーモジュールはやはり役に立ち、週などの問題を処理するのによく使われます.タイムスタンプの概念は、1584345130などのミリ秒数の列です.ここではPython 3のもう一つのデータ型を用いた:辞書、辞書はjavaの中で少しMapクラスに似ていて、get方法で値を取ります.カレンダーモジュールはコンソールに並べられた文字列のカレンダーを直接印刷することができ、非常に直感的で、適用シーンはまだ予想されていません.