[Python] 날짜 세기 및 요일 구하기 - Kyeom

2022. 10. 24. 23:02Python/문제풀이

728x90

◉. 날짜를 세고 요일을 구해보자!


알고 있어야하는 내용.

  1. time모듈
  2. datetime모듈
  3. 문자열 / .split('/')

코드

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
from time import*
from datetime import*
 
def countDays(date1, date2):
    retDays = 0
    year, month, day = date1.split('/')
    sDay = date(int(year), int(month), int(day)) #입력 받은 날짜
    year, month, day = date2.split('/')
    eDay = date(int(year), int(month), int(day)) # 오늘 날짜
    diffDays = eDay - sDay
    retDays = diffDays.days
    return retDays
 
def getDay(t):
    weeks = ['월''화''수''목''금''토''일']
    return weeks[t.tm_wday]
 
startDate, curDate, tm = ''''None
 
startDate = input("시작 날짜(연/월/일) -> ")
tm = localtime()
curDate = str(tm.tm_year) + '/' + str(tm.tm_mon) + '/' + str(tm.tm_mday)
 
print(startDate, '부터 오늘(', curDate,')까지는 ', countDays(startDate, curDate), '일이 지났습니다')
print('그리고 오늘은', getDay(tm),'요일입니다.')
cs

4행)  입력받은 값으로부터 며칠 지났는지 세주는 함수다. 6행과 8행에서 '/'를 기준으로 분리한다.

            date()함수로 날짜로 바꾼 다음 두 날짜의 차를 구한 후 return한다.

14행) 요일 추출한다. 

21행) 오늘 날짜를 반환한다. 22행에서 연, 월, 일을 추출한다.


결과

datetime모듈, time모듈 처음 써 봐서 아직 익숙하지 못하다. 오늘 배운 부분은

data()함수 : data(연, 월, 일)

localtime() : .tm_year, .tm_mon, .tm_mday, .tm_hours, .tm_min, .tm_sec으로 사용한다.

                    16행) 사용 >>> .tm_wday : 0~6으로 반환 0이 월요일, 6이 일요일이다.

728x90