Intro

시간과 관련된 time 모듈, datetime 모듈을 설명한다.

time 모듈은 ‘시간’을 다루는 데 더 집중된 라이브러리로,
기본적인 날짜, 요일 등의 반환과 함께 딜레이 삽입 등 시간을 제어하는 기능을 제공한다.

datetime 모듈은 날짜와 시간을 다루는 기능을 제공하며,
time과 달리 시간 간의 연산보다는 날짜 및 시간의 출력 포매팅을 위한 효율적인 속성 추출에 초점이 맞춰져있다.




time 라이브러리

메서드

메서드 attribute 설명 예시
time.time()   현재 시간을 반환한다. timestamp start = time.time()
time.sleep(sec)   코드 실행 중 딜레이를 발생시킨다. time.sleep(10) -> 10초 딜레이
time.strftime(표시형식)   현재 시간의 연월일시분초를 문자열로 반환 time.strftime(‘%Y-%m-%d %H:%M:%S’)
-> ‘2023-02-19 11:33:00’
time.asctime()   현재 시간을 요일 월 - 일 - 시분초 - 연 순으로 반환 Sun Jun 11 20:23:18 2023
time.localtime()   현재 시간의 연, 월, 일, 시, 분, 초, 요일, 연간 경과일을 반환  
  .tm_year 현재 시간의 ‘연도’를 반환 time.localtime().tm_year -> 2023
  .tm_mon 현재 시간의 ‘월’을 반환 time.localtime().tm_mon -> 2
  .tm_mday 현재 시간의 ‘일’을 반환 time.localtime().tm_mday -> 19
  .tm_hour 현재 시간의 ‘시간’을 반환 time.localtime().tm_hour -> 11
  .tm_min 현재 시간의 ‘분’을 반환 time.localtime().tm_min -> 33
  .tm_sec 현재 시간의 ‘초’를 반환 time.localtime().tm_sec -> 30
  .tm.wday 현재 시간의 ‘요일’을 반환 time.localtime().tm_wday -> 6
0:월요일 ~ 6:일요일
  .tm_yday 올해부터 경과된 일수를 반환 time.localtime().tm_wday -> 50

요일

1
2
3
4
5
6
7
0 : 월요일
1 : 화요일
2 : 수요일
3 : 목요일
4 : 금요일
5 : 토요일
6 : 일요일

예시

코드 실행 시간 계산

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import time

start = time.time()    # 본 코드가 실행되는 시간을 기록한다.

sum = 0
for i in range(1000000):
    sum += i

end = time.time()      # 본 코드가 실행되는 시간을 기록한다.

###################################################
# 소요 시간
print(f'{end-start:.2f}')
==> 0.18 (sec)

현재 날짜 값 얻기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import time

time.localtime()
# >>> time.struct_time(tm_year=2023, tm_mon=6, tm_mday=11, tm_hour=20, tm_min=14, tm_sec=6, tm_wday=6, tm_yday=162, tm_isdst=0)  

time.localtime().tm_year  # >>> 2023  (2023년)
time.localtime().tm_mon   # >>> 6     (6월)
time.localtime().tm_mday  # >>> 11    (11일)
time.localtime().tm_hour  # >>> 20    (20시)
time.localtime().tm_min   # >>> 15    (15분)
time.localtime().tm_sec   # >>> 41    (41초)
time.localtime().tm_wday  # >>> 6     (6일 : 일요일)
time.localtime().tm_yday  # >>> 162   (2023년의 162일 째)

딜레이

1
2
3
4
5
6
7
8
import time

start = time.time() # 시작 시간
time.sleep(10)      # 10초 딜레이
end = time. time()  # 종료 시간

print(end - start)
# >>> 10.006473064422607




Reference

https://docs.python.org/ko/3/library/time.html
https://blockdmask.tistory.com/549