오리는 오늘도 꽥꽥

 

 

calendar --- 일반 달력 관련 함수 — 파이썬 설명서 주석판

calendar --- 일반 달력 관련 함수 소스 코드: Lib/calendar.py 이 모듈을 사용하면 유닉스 cal 프로그램과 같은 달력을 출력할 수 있으며, 달력과 관련된 유용한 추가 함수를 제공합니다. 기본적으로, 이

python.flowdas.com

이 모듈을 사용하면 유닉스 cal 프로그램과 같은 달력을 출력할 수 있으며, 달력과 관련된 함수를 제공합니다.

 

기본적으로 이 달력은 월요일을 주의 첫째 날로 하고, 일요일을 마지막 날로 합니다.

 

주의 첫째 날을 일요일(6)이나 다른 요일로 설정하려면 setfirstweekday()를 사용하십시오.

 

날짜를 지정하는 매개 변수는 정수로 제공됩니다. 관련 기능에 대해서는, datetime time 모듈도 참조하십시오.

 

(출처 : python.flowdas.com/library/calendar.html)

 

참고로 유닉스의 cal 프로그램은 이거 입니다.

 

출처 : https://www.geeksforgeeks.org/cal-command-in-linux-with-examples/

 

자세한 설명은 맨 위의 링크를 참조해주세요. 한글 번역도 잘 되어있습니다 ㅎㅎ.

 

전 몇 가지 함수를 보여드리겠습니다.

 

일단 calendar 모듈에 대해 공부한 이유는 이 문제를 풀다가 호기심이 생겼기 때문입니다.

 

 

"2016년 1월 1일이 금요일 일 때, 2016년 a월 b일은 무슨 요일인가?"

 

 

직접 코딩해도 쉽지만, python에 이미 내장되어있는 모듈을 이용하면 함수 한줄로 바로 출력 가능합니다.

 

weekday(year,month,day) : 해당 날짜의 요일을 return

import calendar

week_list = ["MON","TUE","WED","THU","FRI","SAT","SUN"]
week_list[calendar.weekday(2016,1,1)] #calendar.weekday(2016,1,1)은 0을 return 합니다. 

#결과
#MON

 

calendar(year) : 해당 연도의 달력을 return

print(calendar.calendar(2016))

#결과

#                                   2016

#       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       1  2  3  4  5  6  7          1  2  3  4  5  6
#  4  5  6  7  8  9 10       8  9 10 11 12 13 14       7  8  9 10 11 12 13
# 11 12 13 14 15 16 17      15 16 17 18 19 20 21      14 15 16 17 18 19 20
# 18 19 20 21 22 23 24      22 23 24 25 26 27 28      21 22 23 24 25 26 27
# 25 26 27 28 29 30 31      29                        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                         1             1  2  3  4  5
#  4  5  6  7  8  9 10       2  3  4  5  6  7  8       6  7  8  9 10 11 12
# 11 12 13 14 15 16 17       9 10 11 12 13 14 15      13 14 15 16 17 18 19
# 18 19 20 21 22 23 24      16 17 18 19 20 21 22      20 21 22 23 24 25 26
# 25 26 27 28 29 30         23 24 25 26 27 28 29      27 28 29 30
#                           30 31

#         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       1  2  3  4  5  6  7                1  2  3  4
#  4  5  6  7  8  9 10       8  9 10 11 12 13 14       5  6  7  8  9 10 11
# 11 12 13 14 15 16 17      15 16 17 18 19 20 21      12 13 14 15 16 17 18
# 18 19 20 21 22 23 24      22 23 24 25 26 27 28      19 20 21 22 23 24 25
# 25 26 27 28 29 30 31      29 30 31                  26 27 28 29 30

#       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          1  2  3  4  5  6                1  2  3  4
#  3  4  5  6  7  8  9       7  8  9 10 11 12 13       5  6  7  8  9 10 11
# 10 11 12 13 14 15 16      14 15 16 17 18 19 20      12 13 14 15 16 17 18
# 17 18 19 20 21 22 23      21 22 23 24 25 26 27      19 20 21 22 23 24 25
# 24 25 26 27 28 29 30      28 29 30                  26 27 28 29 30 31
# 31

 

참고로 calendar.month(year,month)를 사용하여 특정 달만 출력 가능합니다.

month대신 prmonth를 쓰게 되면 print 함수를 쓰지 않아도 출력이 됩니다.

 

calendar.prmonth(2016,1)

#결과
#     January 2016
# 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

 

calendar.calendar(year)는 calendar.TextCalendar().formatyear(year)와 같습니다.

 

대신 후자의 경우 formatyear 대신 pryear를 쓰면 print함수를 사용하지 않아도 바로 출력이 가능합니다.

 

calendar.TextCalendar().pryear(2016)

#결과

#                                   2016

#       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       1  2  3  4  5  6  7          1  2  3  4  5  6
#  4  5  6  7  8  9 10       8  9 10 11 12 13 14       7  8  9 10 11 12 13
# 11 12 13 14 15 16 17      15 16 17 18 19 20 21      14 15 16 17 18 19 20
# 18 19 20 21 22 23 24      22 23 24 25 26 27 28      21 22 23 24 25 26 27
# 25 26 27 28 29 30 31      29                        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                         1             1  2  3  4  5
#  4  5  6  7  8  9 10       2  3  4  5  6  7  8       6  7  8  9 10 11 12
# 11 12 13 14 15 16 17       9 10 11 12 13 14 15      13 14 15 16 17 18 19
# 18 19 20 21 22 23 24      16 17 18 19 20 21 22      20 21 22 23 24 25 26
# 25 26 27 28 29 30         23 24 25 26 27 28 29      27 28 29 30
#                           30 31

#         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       1  2  3  4  5  6  7                1  2  3  4
#  4  5  6  7  8  9 10       8  9 10 11 12 13 14       5  6  7  8  9 10 11
# 11 12 13 14 15 16 17      15 16 17 18 19 20 21      12 13 14 15 16 17 18
# 18 19 20 21 22 23 24      22 23 24 25 26 27 28      19 20 21 22 23 24 25
# 25 26 27 28 29 30 31      29 30 31                  26 27 28 29 30

#       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          1  2  3  4  5  6                1  2  3  4
#  3  4  5  6  7  8  9       7  8  9 10 11 12 13       5  6  7  8  9 10 11
# 10 11 12 13 14 15 16      14 15 16 17 18 19 20      12 13 14 15 16 17 18
# 17 18 19 20 21 22 23      21 22 23 24 25 26 27      19 20 21 22 23 24 25
# 24 25 26 27 28 29 30      28 29 30                  26 27 28 29 30 31
# 31

 

이외에도 달력을 HTML이나 CSS로도 return할 수 있습니다.

 

calendar.HTMLCalendar().formatyear(2016)
2016
\n\n\n\n\n\n\n\n
January
Mon Tue Wed Thu Fri Sat Sun
        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
\n\n\n\n\n\n\n\n
February
Mon Tue Wed Thu Fri Sat Sun
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            
\n
\n\n\n\n\n\n\n\n
March
Mon Tue Wed Thu Fri Sat Sun
  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
\n\n\n\n\n\n\n\n
April
Mon Tue Wed Thu Fri Sat Sun
        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  
\n
\n\n\n\n\n\n\n\n\n
May
Mon Tue Wed Thu Fri Sat Sun
            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
\n\n\n\n\n\n\n\n
June
Mon Tue Wed Thu Fri Sat Sun
    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      
\n
\n\n\n\n\n\n\n\n
July
Mon Tue Wed Thu Fri Sat Sun
        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
\n\n\n\n\n\n\n\n
August
Mon Tue Wed Thu Fri Sat Sun
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
\n\n\n\n\n\n\n\n
September
Mon Tue Wed Thu Fri Sat Sun
      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    
\n
\n\n\n\n\n\n\n\n\n
October
Mon Tue Wed Thu Fri Sat Sun
          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
\n\n\n\n\n\n\n\n
November
Mon Tue Wed Thu Fri Sat Sun
  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        
\n
\n\n\n\n\n\n\n\n
December
Mon Tue Wed Thu Fri Sat Sun
      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

 

반응형

'코딩 > python' 카테고리의 다른 글

[python] startswith, endswith  (0) 2020.09.06
[python] set에 대해 알아보기 및 예제  (0) 2020.09.03
[python] enumerate 함수 사용법 및 예제 알아보기  (0) 2020.09.03
[python] lambda  (0) 2020.09.03

공유하기

facebook twitter kakaoTalk kakaostory naver band